根据 SQL While 循环中的值排除数据库条目
Exclude Database entries based on a value in SQL While Loop
我的任务是在 SQL Management Studio 中编辑存储过程。我已经完成了要求的工作,但这样做的副产品是现在记录中填充了不需要的数据。我希望根据变量 LINE_CD 排除数据,并希望过滤(接收)LINE_CD <=14 或 LINE_CD = 21.
的数据
目前我已经编辑了其他记录来要求 LINE_CD <=14 OR LINE_CD = 21,但是有一个 while 循环,它使用一个变量 "MAXLINECD" 被设置在 21。(这曾经是 14,代表我们拥有的行,现在添加了新行)我只想要所有 LINE_CD <= 14 OR LINE_CD = 21.
循环是:
DECLARE @Index int, @LINE_CD int, @ORDER int
SELECT @LINE_CD = 1, @ORDER = 51
WHILE @LINE_CD <= @MAX_LINE_CD
BEGIN
我可以这样写吗:
DECLARE @Index int, @LINE_CD int, @ORDER int
SELECT @LINE_CD = 1, @ORDER = 51
WHERE @LINE_CD =1, @ORDER = 51 not in
(SELECT @LINE_CD, @ORDER WHERE LINE_CD <=14 OR LINE_CD = 21)
WHILE @LINE_CD <= @MAX_LINE_CD
BEGIN
只给我 LINE_CD 的:1,2,3,4,5,6,7,8,9,10,11,12,13,14 & 21?
您不能使用 WHERE
,因为您没有从 table 中选择一组。您可以在 WHILE
循环中评估条件。
DECLARE @Index int, @LINE_CD int, @ORDER int
SELECT @LINE_CD = 1, @ORDER = 51
WHILE @LINE_CD <= @MAX_LINE_CD
BEGIN
IF @LINE_CD <=14 OR @LINE_CD = 21
BEGIN
我的任务是在 SQL Management Studio 中编辑存储过程。我已经完成了要求的工作,但这样做的副产品是现在记录中填充了不需要的数据。我希望根据变量 LINE_CD 排除数据,并希望过滤(接收)LINE_CD <=14 或 LINE_CD = 21.
的数据目前我已经编辑了其他记录来要求 LINE_CD <=14 OR LINE_CD = 21,但是有一个 while 循环,它使用一个变量 "MAXLINECD" 被设置在 21。(这曾经是 14,代表我们拥有的行,现在添加了新行)我只想要所有 LINE_CD <= 14 OR LINE_CD = 21.
循环是:
DECLARE @Index int, @LINE_CD int, @ORDER int
SELECT @LINE_CD = 1, @ORDER = 51
WHILE @LINE_CD <= @MAX_LINE_CD
BEGIN
我可以这样写吗:
DECLARE @Index int, @LINE_CD int, @ORDER int
SELECT @LINE_CD = 1, @ORDER = 51
WHERE @LINE_CD =1, @ORDER = 51 not in
(SELECT @LINE_CD, @ORDER WHERE LINE_CD <=14 OR LINE_CD = 21)
WHILE @LINE_CD <= @MAX_LINE_CD
BEGIN
只给我 LINE_CD 的:1,2,3,4,5,6,7,8,9,10,11,12,13,14 & 21?
您不能使用 WHERE
,因为您没有从 table 中选择一组。您可以在 WHILE
循环中评估条件。
DECLARE @Index int, @LINE_CD int, @ORDER int
SELECT @LINE_CD = 1, @ORDER = 51
WHILE @LINE_CD <= @MAX_LINE_CD
BEGIN
IF @LINE_CD <=14 OR @LINE_CD = 21
BEGIN