sql - 带有条件语句和内部联接的 SQL
问题描述
我有两个表表 1 和表 2 我想根据同一个表上的列连接表 1 中的两列 我应该把条件放在哪里?我尝试了 Case-When-Then-Else-End 无济于事。
SELECT (table1.A,table1.B,tableC.A,
CONCAT (table1.A,table 1.B ) as table1.D from table1
INNER JOIN tableC ON table1.A = tableC.A
table1
A B C (columns)
joy apple good
mel for bad
条件是:如果 C = 'good' 然后连接 A+B 否则只使用 B 列中的值
结果将是
table1
A B C D
joy apple good joyapple
mel for bad for
解决方案
SELECT table1.A, table1.B, tableC,
CASE C WHEN 'good' THEN CONCAT(table1.A, table1.B)
WHEN 'bad' THEN table1.A
END AS D
from table1
INNER JOIN tableC ON table1.A = tableC.A