抱歉,如果我的标题不够技术,应该是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/

10-12 23:24