从另一个查询创建查询

时间:2016-08-09 22:36:56

标签: php mysql

寻求一点帮助.. 我正在尝试创建一个查询以用作另一个查询的参数。

这是我正在尝试的......

我认为我没有让自己清楚(大惊喜) 忽略查询中的任何硬编码数据,它们首先使用从搜索页面发送的变量。

第二个查询是我真正需要知道如何完成的。 如果我必须弄清楚如何生成sql以选择我在第一个查询中获得的许多记录,

SELECT distinct Invoice_Number   FROM invoices_details where check_number = '9999' and taxid = '9999999'

返回3个发票号码..

我需要做的是在另一个选择中使用这些发票号码......

***Select claim_details from claim_d where invoice in ('xxxx','yyyy','zzzz')***

如果可能的话,我会感到茫然。

任何帮助都将不胜感激。

由于

凯文

1 个答案:

答案 0 :(得分:4)

您可以将SELECT包装在IN子句中,该子句也称为子查询,如

Select claim_details 
from claim_d 
where invoice in (
SELECT Invoice_Number   
 FROM invoices_details 
 where check_number = '9999' 
 and taxid = '9999999'
)

(OR)使用下面的INNER JOIN(推荐方法)

select distinct claim_details 
from claim_d c
join invoices_details i ON c.invoice = i.Invoice_Number
where i.check_number = '9999' 
and i.taxid = '9999999';