在单个 table 上合并 2 sql 语句

combine 2 sql statement on single table

我 table 有这些字段

table_id    name      tablename   parenttable   hierarchy
1          Staff       staff        1              10
2          Student     student      2              20
3          Intern      intern       3              30
4          StaffCon    contract     1              11
5          Staff Dep   dependant    1              12

我想根据上述 table 合并 2 sql 个语句。 我在 2 条语句中得到 'tablename' 的值。

query 1 : result1 =select table_id from A Where tablename='staff' 
query2 : result2 = select table_id from A where parenttable_id =result1 && tablename='dependant'

试试这个

SELECT table_id FROM A WHERE parenttable_id IN (
    SELECT table_id FROM A WHERE tablename = 'staff'
) AND tablename = 'dependant'

或者用上面的table结构

SELECT table_id FROM A WHERE parenttable IN (
    SELECT table_id FROM A WHERE name = 'staff'
) AND name = 'dependant'

这个也适合我..

SELECT 
    c2.table_id
FROM
    A c1
        INNER JOIN
   A c2 ON c1.table_id = c2.parenttable
        AND c1.tablename ='student' AND c2.tablename = 'dependant'