我想更新多个列,如果它达到我的条件,例如
我想做一些像这样的事情
set column1 ,column 2 ,column 3
if column1=0 if column2=0 if column3=0;
to column1=somevalue,column2=somevalue,column3=somevalue;
下面是我的查询,它只适用于1列,我想要对超过1列的列执行此操作,但在同一查询中。
SqlCommand cmd = new SqlCommand("UPDATE DwH_Staging_table SET pestpopulation1=@avg_pest1
W
我有一个包含许多列的表,其中有两列是我感兴趣的。
这2列可能有类似于(p,p)(a,p)(p,a)(a,a)的值。
根据这些列中存在的值,我希望将第三列分别显示为1,0.5,0.5,0。
表:
column1 column2 column3
p p 1
p a 0.5
a p 0.5
a a 0
怎么能做到这一点。我试了很多次,但没有结果。请帮帮忙。
如何在SQL更新案例中使用多个条件?
COLUMN1 COLUMN2 COLUMN3
BG1 STANDARD
FOX1 STANDARD
BRB STANDARD
NBC STANDARD
FOX2 STANDARD
CNN3 STANDARD
GAM1 STANDARD
AI1 STANDARD
CQN3 STANDARD
GSM1 STANDARD
OFD1 STANDARD
REST NONSTA
我试图查询此sql语句。
SELECT *
FROM `tablename`
WHERE value1 IN (column1)
AND value2 IN (column2)
AND value3 IN (column3)...
所以在这个查询中,WHERE子句是在column1中查找value1,在column2中查找value2等等。
虽然效果很好。
但我的问题是,是否有更好的方法来编写这段代码--类似下面的Insert查询语句。
INSERT INTO table_name (column1, column2, column3, ...)
VA
我需要一个有条件的where子句,它的操作方式如下:
Select *
From Table
If (@booleanResult)
Begin
Where Column1 = 'value1'
End
Else
Begin
Where column1 = 'value1' and column2 = 'value2'
End
任何帮助都将不胜感激。
我想使用一个CASE表达式更新一个表,但是我得到了一个错误,但是我没有设置空值:
无法将值NULL插入“column 2”列、表“表1”中;列不允许空值。更新失败。
我的代码:
UPDATE [Table 1]
SET [Column1] = '2',
[Column2] = CASE
WHEN [Column3] = 'A' THEN '1'
WHEN [Column3] = 'B' THEN '2'
我需要执行一次插入或另一次插入,这取决于由于同一表的不同版本而存在的列。
我在上使用了这种方法,但是Server的预检查或“某种编译”会检测到在执行过程中不会失败的错误。
这是一些代码
IF COL_LENGTH('TableA', 'Column2') IS NOT NULL
BEGIN
INSERT INTO [dbo].[TableA]([Column1], [Column2], [Column3], [Column4])
SELECT value1, value2, value3, value4
END ELSE
BEGIN
INSERT INTO