我有2个表:结合两个具体的SQL语句
表F:
表T:
Field T_ID
我有一个F_ID,这样我就可以找到配对表T:
SELECT * FROM F INNER JOIN T ON F_T_ID = T_ID WHERE F_ID = x
然后我就可以找到引用该表T的所有表F:
SELECT * FROM F WHERE F_T_ID = y
我怎样才能做到这一点在一个SQL语句?
谢谢。
我有2个表:结合两个具体的SQL语句
表F:
表T:
Field T_ID
我有一个F_ID,这样我就可以找到配对表T:
SELECT * FROM F INNER JOIN T ON F_T_ID = T_ID WHERE F_ID = x
然后我就可以找到引用该表T的所有表F:
SELECT * FROM F WHERE F_T_ID = y
我怎样才能做到这一点在一个SQL语句?
谢谢。
如果第一次查询将永远只返回一个(或没有)行,那么你可以使用第一查询作为子查询:
SELECT * FROM F WHERE F_T_ID =
(SELECT F_T_ID FROM F INNER JOIN T ON F_T_ID = T_ID WHERE F_ID = x)
你的意思是所有的F公司是指同一个T作为你的F_ID ?这个怎么样:
SELECT F1.*
FROM F F1
JOIN T ON T.T_ID = F1.F_T_ID
JOIN F ON F.F_T_ID = T.T_ID
AND F.F_ID = x
如果你不想包含原始的F,你可以补充一点:
WHERE F1.F_ID != x
啊,“子查询或内部查询或嵌套查询”。我不知道这一点。谢谢你的答案,并请原谅我的SQL无知。 –
解决问题的方法很多。 – n8wrl
啊哈,一个“子查询或内部查询或嵌套查询”。我不知道这一点。谢谢你的答案,并请原谅我的SQL无知。 –