mysql – 当一列为NULL时带有条件的WHERE语句

让我说我有

ID       |   Column 1 | Column 2
  2      |      NULL  |     "a"
  3      |      "b"   |    NULL
  4      |       "c"  |     "c"

我想写的是:

 SELECT ID FROM table,AnotherTable 
  WHERE (Table.Column1 = AnotherTable.Column IF Table.Column1 IS NOT NULL 
     OR Table.Column2 = AnotherTable.Column IF Table.Column2 IS NOT NULL)

编辑:我也添加了案例IF Table.Column1 IS NOT NULL和Table.Column2 IS NOT NULL,然后选择Table.Column2 = AnotherTable.Column
最佳答案
您可以使用COALESCE()功能:

SELECT ID
FROM   table JOIN AnotherTable
               ON AnotherTable.Column = COALESCE(table.Column1,table.Column2)

dawei

【声明】:石家庄站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。