使用多个值更新单个记录 [英] update single record with multiple values

查看:61
本文介绍了使用多个值更新单个记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,



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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆