抱歉,如果我的标题不够技术,应该是MySQL的新知识。
我有3张桌子。
PC01_CONSULTATIONS,
PC02_CONSULTATION_TYPES,
PC12_STATUS_CODES。
我给每个表起了一个简短的名字,所以PC01_CONSULTATIONS-PC01,PC02_CONSULTATION_TYPES-PC02,PC12_STATUS_CODES-PC12。
我在每个表中的相似列(分别是PC01 + PC02
和"PC01_CONSULTATIONS.PC02_CONS_TYPE_ID"
,其中"PC02.CONS_TYPE_ID"
这是我使用的代码
select * from PC01_CONSULTATIONS PC01
join PC02_CONSULTATION_TYPES PC02
on PC01.pc02_cons_type_id = PC02.CONS_TYPE_ID
where PC02.cons_type_id = 1
最初运行良好,但现在除了所有这些,我还需要加入第三个表
PC02.CONS_TYPE_ID = 1
。 "PC12_STATUS_CODES"
在PC01和PC12之间类似。如果这已加入到我已经存在的代码中,我还需要添加另一个“ where”命令。将PC12表连接到代码的原因是,这样我就可以检索PC12.STATUS_CODE_ID = 2的记录。因此,在当前“ PC02.cons_type_id = 1”的顶部,我必须添加“ AND PC12.STATUS_CODE_ID = 2英寸对吗?
我编写的代码(显然不起作用)如下,有关如何正确创建此代码的任何提示(我可以检索正确的记录)将不胜感激。谢谢。
select * from PC01_CONSULTATIONS PC01
join PC02_CONSULTATION_TYPES PC02
join PC12_STATUS_CODES PC12
on PC01.PC02_CONS_TYPE_ID = PC02.CONS_TYPE_ID
on PC01.PC12_STATUS_CODE_ID = PC12.STATUS_CODE_ID
where PC02.CONS_TYPE_ID = 1 and PC12.STATUS_CODE_ID = 2
最佳答案
尝试这个:
select * from PC01_CONSULTATIONS PC01
join PC02_CONSULTATION_TYPES PC02 on PC01.PC02_CONS_TYPE_ID = PC02.CONS_TYPE_ID
join PC12_STATUS_CODES PC12 on PC01.PC12_STATUS_CODE_ID = PC12.STATUS_CODE_ID
where PC02.CONS_TYPE_ID = 1 and PC12.STATUS_CODE_ID = 2
关于mysql - 在MySQL + 2 where命令上联接3个表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27899986/