我选择表:A1并加入A2到A1,和A3加入到A2。
A1 .LEVEL和A2 .LEVEL始终不为空
A3 .LEVEL意味着,加入行空。
A1。级别大于A2 .level。
IF A3 .LEVEL小于A2 .LEVEL或设置好的到(NULL)
所以,我需要得到这样的SQL:这个“where if”查询有什么不对吗?
╔══════════╦══════════╦══════════╗
║ A1.level ║ A2.level ║ A3.level ║
╠══════════╬══════════╬══════════╣
║ 3 ║ 2 ║ 1 ║
║ 14 ║ 10 ║ 5 ║
║ 15 ║ 13 ║ (NULL) ║
╚══════════╩══════════╩══════════╝
我试着写声明这样
SELECT A1.level, A2.level, A3.level
FROM A1,
LEFT JOIN A2 ON A1.parentID = A2.id
LEFT JOIN A3 ON A2.parentID = A3.id
WHERE A1.level > A2.level
AND A2.level > A3.level OR A3.level IS NULL
但它不起作用。如何编写IF(或CASE)的说明?谢谢
'SELECT * FROM A1.level,A2.level,A3.level FROM A1'或'SELECT A1.level,A2.level,A3.level FROM A1' ??? – Praveen
定义“它不工作” - 一个错误信息?错误的结果?还有别的吗? –