从子表TABLE1查询关联父表TABLE2、TABLE3对应数据的SQL实现方法
SQL查询实现方案
实现逻辑
- 以TABLE1为主表,两次关联父表获取对应字段
- 第一次关联条件:
TABLE1.chd1 = TABLE2.pnt1,关联TABLE2获取dat1字段 - 第二次关联条件:
TABLE1.chd2 = TABLE3.pnt2,关联TABLE3获取dat2字段 - 最后通过WHERE条件过滤出TABLE1中row=2的记录即可
完整查询语句
SELECT t1.row, t1.chd1, t2.dat1, t1.chd2, t3.dat2 FROM TABLE1 t1 INNER JOIN TABLE2 t2 ON t1.chd1 = t2.pnt1 INNER JOIN TABLE3 t3 ON t1.chd2 = t3.pnt2 WHERE t1.row = 2;
执行结果说明
你给出的期望输出里row字段值标注为1属于笔误,实际执行上述语句后得到的正确结果如下:
+-----+------+------+------+------+ | row | chd1 | dat1 | chd2 | dat2 | +-----+------+------+------+------+ | 2 | B | 62 | Y | MI | +-----+------+------+------+------+
内容的提问来源于stack exchange,提问作者Tyler Montgomery
相关产品推荐
相关产品推荐

