Php 仅在mysql的IN子句中显示指定的id
sql命令的第一部分是连接3个费用表的地方。它们都是一样的,只是背景不同而已。我希望该命令只显示程序编号100和200。所以只有两个结果。但是它在mysql中显示了很多结果 这就是结果Php 仅在mysql的IN子句中显示指定的id,php,mysql,Php,Mysql,sql命令的第一部分是连接3个费用表的地方。它们都是一样的,只是背景不同而已。我希望该命令只显示程序编号100和200。所以只有两个结果。但是它在mysql中显示了很多结果 这就是结果 您发布的查询基本上有三个查询: SELECT * FROM `charges` UNION ALL SELECT * FROM `confinement` UNION ALL SELECT * FROM `ultrasound` WHERE procedure_no IN
您发布的查询基本上有三个查询:
SELECT * FROM `charges`
UNION ALL
SELECT * FROM `confinement`
UNION ALL
SELECT * FROM `ultrasound`
WHERE procedure_no IN (100, 200)
ORDER BY FIELD(procedure_no,100,200);
也就是说,目前只有超声波通过程序编号Try进行过滤(未测试):
这里有基本的SQL FIDLE:谢谢!我不会猜到的。@user1967153没问题:)
SELECT * FROM `charges`
SELECT * FROM `confinement`
SELECT * FROM `ultrasound` WHERE procedure_no IN (100, 200) ORDER BY FIELD(procedure_no,100,200);
SELECT * FROM
(SELECT * FROM `charges`
UNION ALL
SELECT * FROM `confinement`
UNION ALL
SELECT * FROM `ultrasound` ) AS t1
WHERE t1.procedure_no IN (100, 200)
ORDER BY FIELD(t1.procedure_no,100,200);