[英]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.