我想知道是否以及如何对where子句进行分组,以便我可以输入第一组列,然后输入第二组,如下所示:
... WHERE (column1a,column2a,colum3a) == (column1b,column2b,column3b)
... WHERE (column1a,column2a,colum3a) == ("value1","value2","value3")
而不是这个
... WHERE column1a = column1b AND column2a = column2b AND column3a = column3b
... WHERE column1a = "value1" AND column2a = "value2"AND column3a = "value3"
就像你可以使用“REPLACE”代替“INSERT”来做同样的事情。
我想这样做是因为我更容易以第二种形式传递它而不是解析column1b,column2b,column3b或“value1,value2,value3”
答案 0 :(得分:1)
在MySQL中,您可以使用多列IN
子句:
... WHERE (column1a,column2a,colum3a) in ((column1b,column2b,column3b))
... WHERE (column1a,column2a,colum3a) in (('value1','value2','value3'))
答案 1 :(得分:-1)
您不能使用 WHERE 子句按列进行分组,您可以使用 GROUP BY 。 WHERE 子句仅过滤记录,但您无法执行此操作:
... WHERE column1a = column1b, column2a = column2b, column3a = column3b
但是这个:
... WHERE column1a = column1b AND column2a = column2b AND column3a = column3b