如何为此场景编写MySQl查询

时间:2014-03-11 22:50:30

标签: sql sql-server

我是MS SQL的新手。

我在为这个特定场景编写查询时遇到了问题所以任何人都可以帮助我

我有桌子

 S.no  Sender Recevier  Function  
  1       s1     R1        Read
  2       R1     S1        Read
  3       S1     P1        Write
  4       R1     w2        Read

我会根据以下条件更新值

  that is Select the Function Read Where (Sender = S1) OR (Receiver = S1) 

我需要更新值通过选择功能和用户可能在发件人颜色或接收器中所以我该怎么做。

我喜欢

Update Table1 Set Sender = Null, Receiver=Null Where Function = 'Read' And Sender = 's1'OR Receiver = 's1'

但我不满意所以请任何人帮我解决这个问题。

1 个答案:

答案 0 :(得分:4)

我猜你在运行时会收到类似Incorrect syntax near the keyword 'Function'.:的错误,因为function这个词是reserved keyword in T-SQL

尝试将其更改为:

Update Table1 Set Sender = Null, Receiver = Null 
Where [Function] = 'Read' And (Sender = 's1' OR Receiver = 's1')

如果可能,您可能希望更改列的名称,因为使用保留字永远不是一个好主意。

示例SQL Fiddle demo