对于我的情况,假设表A的ID为1-10 B,ID为10-100,c为ID为100-1000
现在我需要以下功能:我希望表C中所有具有B_ID的名称具有外键A_ID = 3
所以基本上可以说表C中的某些名字有B_ID 20,30,40,50,60,而表B B-ID 20和30有A-ID 3
所以我希望表C中的数据只有B_ID的20和30
我希望我足够清楚,我会提到我写的查询,但我不希望读者再次感到困惑。
提前致谢............
答案 0 :(得分:2)
你可以试试这个:
SELECT C.names
FROM C
INNER JOIN B ON C.B_ID = B.B_ID
INNER JOIN A ON B.A_ID = A.A_ID
WHERE A.A_ID = 3
答案 1 :(得分:0)
我不确定我是否遗漏了某些内容,但如果您想要的是基于该表中可用信息的表c中的数据,则除非您需要,否则不需要加入其他表格验证B_ID
table b
Select * from TableC where B_ID in (20,30)
编辑:
这是整个连接,它将返回表C
中所有行,其中“B
SELECT C.*
FROM A
JOIN B
ON A.A_ID = B.A_ID
AND B.B_ID IN (20,30)
JOIN C
ON B.B_ID = C.B_ID
WHERE A.A_ID = 3