我有一张表格如下:
TBLA
code | name | parent_code | status | child
---------------------------------------------------------
1 | ABC | | complete | N
1.1 | ABC.1 | 1 | pending | Y
2 | BCD | | pending | N
2.1 | BCD.1 | 2 | pending | Y
我正在尝试使用child = Y
及其父status = complete
这是我想要的输出
code | name | parent_code | status | child
----------------------------------------------------------
1.1 | ABC.1 | 1 | pending | Y
到目前为止,我使用的方法是使用child=Y
查询所有记录并再次循环以获取上一个查询中code
的每个parent_code
基础的状态。
是否可以使查询更简单?
答案 0 :(得分:1)
自我加入应该做的工作:
SELECT child.*
from tblA child join tblA parent on child.parent_code =parent.code
WHERE parent.child = 'N' and parent.status = 'complete'
答案 1 :(得分:1)
检查一下。
SELECT C.*
FROM tblA C
INNER JOIN tblA P ON P.code = C.parent_code
WHERE C.child = 'Y'
AND P.status = 'complete'
答案 2 :(得分:0)
SELECT code, name , parent_code,status, child
from tblA
WHERE child = 'Y' and status = 'PENDING'
pl. try i am not sure about your resultset