MySql中左关联联表中,A关联B,关联字段为c1,如果A的c1字段不为空,则用c1进行连接,如果c1为空,则改用c2进行连接,这个要怎么写sql语句
时间: 2023-11-06 09:06:57 浏览: 64
Sql Server中一个表2个字段关联同一个表(代码解决)
可以使用IFNULL函数和CASE语句来实现这个功能,具体的SQL语句如下:
```
SELECT *
FROM A
LEFT JOIN B ON
CASE WHEN A.c1 IS NOT NULL THEN A.c1 ELSE A.c2 END = B.c1
```
上述SQL语句中,先使用CASE语句判断A表中的c1字段是否为空,如果不为空,则使用c1字段进行连接;如果为空,则使用c2字段进行连接。然后使用LEFT JOIN来进行左联接查询。
阅读全文