select *
from Customer
join Invoice
on customer.listid = invoice.customerref_listid
join InvoiceLineDetail
on invoice.TxnID = invoicelinedetail.IDKEY
join ItemInventory
on invoicelinedetail.itemref_listid = iteminventory.listid
order by customer.name, CustomField12 asc
现在有了这些连接结果,有两个标记为
的字段 CustomerFirstName CustomerLastName ItemRef_FullName
和customfield12
。 Customfield12
是一类产品。我希望能够从表格(ItemInventory
)中提取客户尚未购买的产品。
我确信这是可能的,但我迷失在哪里开始或运营商使用?
表格(已加入)结果:
{
John Doe johndoe@aol.com Product:FrameSet1 Frame Sets
John Doe2 johndoe2@aol.com Product:FrameSet3 Outside Sets
}
表格结果(ItemInventory):
{
Frame Set Example 1 Product:FrameSet1 Frame Sets
Frame Set Example 2 Product:FrameSet2 Frame Sets
Frame Set Example 3 Product:FrameSet3 Outside Sets
Frame Set Example 4 Product:FrameSet4 Outside Sets
}
在上面的示例中,结果将显示客户遗失的项目,该项目与他/她之前购买的商品属于同一类别。他们还可以购买多个类别。
结果:
{
John Doe johndoe@aol.com Product:FrameSet2 Frame Sets
John Doe2 johndoe2@aol.com Product:FrameSet4 Outside Sets
}
答案 0 :(得分:0)
您可以在SQL中使用NOT IN子句,类似于:
select * from ItemInventory a , JoinedTables b
where
a.category=b.category
and ItemID not in (Select ItemID from JoinedTables b where a.category=b.category)
如果您给我的表列,我可以调整SQL以反映正确的选择。
我假设您的类别字段名为category
,您的商品ID为ItemID
。