当前位置: 代码迷 >> Sql Server >> 请教:SQL有关问题
  详细解决方案

请教:SQL有关问题

热度:59   发布时间:2016-04-24 10:20:42.0
请问:SQL问题
比如一个查询,
select * from 表 WHERE 日期='2014-06-01'  AND TYPE=1 
if @@row >0 
那么就
update 表 SET  SEE =1 WHERE 日期='2014-06-01'  AND TYPE=2 
也就是说如果同一天里,有TYPE=1的数据,那么就把同一天的TYPE=2的数据的SEE值更改为1.如何写呢?
要通过SQL语句一次性全部更新的。
------解决方案--------------------
UPDATE  a
SET     see = 1
FROM    [table] AS a
WHERE   EXISTS ( SELECT 1
                 FROM   [table] AS b
                 WHERE  a.username = b.username
                        AND CONVERT(VARCHAR(10), a.日期, 121) = CONVERT(VARCHAR(10), b.日期, 121)
                        AND b.type = 1 )
        AND a.type = 2
  相关解决方案