使用多个值更新单个记录 [英] update single record with multiple values
本文介绍了使用多个值更新单个记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好,
i有如下情况
表1有id而table2有id ,公司ID
i通过加入table1和table2在一个新表中插入一个标志的case语句
选择 table1.id,
flag = 案例 当 companyid = 1 然后 ' c'
companyid =<> 1 然后 ' d'
结束
来自table1 join table2 table1.id = table2.id
但在这里我的问题我想要一个标志,两个id匹配,它是在companyid = 1和companyi d < > 1 AS''''
谢谢
Ramesh.m
解决方案
选择 table1.id,
case 当 companyid = 1 then ' c' 其他 ' d' end as flag
来自 table1 join table2 table1.id = table2.id
Happy Coding!
:)
>
1。解决方案
SELECT t1.id,[flag] = CASE
WHEN companyid = 1 那么 ' c'
WHEN companyid = 2 THEN ' d'
WHEN companyid = 3 那么 ' e'
WHEN companyid = 4 那么 ' f'
WHEN companyid = 5 < span class =code-keyword> THEN ' g'
< span class =c ode-keyword> ELSE ' h' END
FROM table1 AS t1 INNER JOIN table2 AS t2 ON t1.id = t2.id
更多关于: CASE(T-SQL) [ ^ ]
2解决方案:
SELECT T. *
FROM (
SELECT t1.id,' c' AS [flag]
FROM table1 AS t1 INNER JOIN table2 AS t2 ON t1.id = t2.id
WHERE companyid = 1
UNION ALL
SELECT t1.id,' d' AS [flag]
FROM table1 AS t1 INNER JOIN table2 AS t2 ON t1.id = t2.id
WHERE companyid<> 1 AND IntField = 5
UNION ALL
SELECT t1.id, ' c' AS [flag]
FROM table1 AS t1 INNER JOIN table2 AS t2 ON t1.id = t2.id
WHERE companyid = 1 AND IntField = 9 AND TextField = ' CP'
) AS T
更多关于: UNION(T-SQL) [ ^ ]
Hi all,
i have situation like bellow
table 1 have id and table2 have id, company id
i wrote case statement for insert a flag in a new table by joining the table1 and table2
select table1.id,
flag= case when companyid=1 then 'c'
when companyid=<>1 then 'd'
end
from table1 join table2 table1.id=table2.id
But here my problem i want a flag with both id's are matching and it is in companyid=1 and companyid<>1 AS 'both'
Thanks
Ramesh.m
解决方案
select table1.id, case when companyid=1 then 'c' Else 'd' end as flag from table1 join table2 table1.id=table2.id
Happy Coding!
:)
1. solution
SELECT t1.id, [flag] = CASE WHEN companyid=1 THEN 'c' WHEN companyid=2 THEN 'd' WHEN companyid=3 THEN 'e' WHEN companyid=4 THEN 'f' WHEN companyid=5 THEN 'g' ELSE 'h'END FROM table1 AS t1 INNER JOIN table2 AS t2 ON t1.id=t2.id
More about: CASE (T-SQL)[^]
2. solution:
SELECT T.* FROM ( SELECT t1.id, 'c' AS [flag] FROM table1 AS t1 INNER JOIN table2 AS t2 ON t1.id=t2.id WHERE companyid = 1 UNION ALL SELECT t1.id, 'd' AS [flag] FROM table1 AS t1 INNER JOIN table2 AS t2 ON t1.id=t2.id WHERE companyid <> 1 AND IntField=5 UNION ALL SELECT t1.id, 'c' AS [flag] FROM table1 AS t1 INNER JOIN table2 AS t2 ON t1.id=t2.id WHERE companyid = 1 AND IntField=9 AND TextField='CP' ) AS T
More about: UNION (T-SQL)[^]
这篇关于使用多个值更新单个记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文