繁体   English   中英

将SQL查询合并为一个

[英]Combine the SQL queries into one

我正在尝试将两个查询合并为一个。

第一个查询:

select SaleID 
from Sales 
where InvoiceStatusID = 'OR';

第二个查询:

select ItemSaleLines.Quantity, Items.CustomField2 
from ItemSaleLines 
inner join Items on ItemSaleLines.ItemID = Items.ItemID 
inner join Sales on ItemSaleLines.SaleID = Sales.SaleID 
where (ItemSaleLines.SaleID = {keyProductID} 
  and (ItemSaleLines.Quantity > 0) 
  and (Items.ItemNumber not like '%tnt%') 
  and (Items.ItemNumber not like '%contact%') 
  and (Items.ItemNumber <> '') 
  and (Items.ItemNumber <> '-' ) )

其中keyProductID是我从查询1获得的SaleID

我这样做是通过SaleID查询1存储SaleID并将其传递给查询2来实现的,但是它效率不高并且调用过多。

有什么更好的方法呢?

你可以尝试这样

select ItemSaleLines.Quantity,Items.CustomField2 from ItemSaleLines 
inner join Items on ItemSaleLines.ItemID=Items.ItemID 
inner join Sales on ItemSaleLines.SaleID=Sales.SaleID 
where (ItemSaleLines.SaleID=(select SaleID from Sales where InvoiceStatusID='OR')
AND (ItemSaleLines.Quantity > 0) AND (Items.ItemNumber not 
like '%tnt%') AND (Items.ItemNumber not like '%contact%') AND (Items.ItemNumber <> '') AND (Items.ItemNumber <> '-' ) )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM