我正在尝试获取提供给尚未在其项目中排队的用户的所有优惠。因此,我OfferSuggestionHeader
根据我的用户 ID 从表中获取报价,但也尝试确保它不会获取用户已经添加到他们的项目中的任何内容(存储在Projects
表中)
我有以下查询:
SELECT DISTINCT ofh.OfferID, ofh.OfferTitle, ofh.OfferVendor, ofh.Savings,ofh.SavingsPercent
FROM OfferSuggestionHeader ofh
LEFT JOIN OfferSuggestionDetail osd
ON ofh.OfferID = osd.OfferID
LEFT JOIN Facilities f
ON osd.FacilityID = f.id
LEFT JOIN UserFacility uf
ON f.id = uf.fid
LEFT JOIN Users u
ON uf.uid = u.uid
LEFT JOIN Projects p
ON p.uid = u.uid
WHERE p.uid = '1'
AND ofh.OfferID <> ANY (SELECT offer_id FROM Projects WHERE uid = '1')
它拉起所有的报价。如果我拿走,ANY
那么我会收到一条错误消息,指出子查询返回的结果太多。
有6个优惠。三个由用户 1 排队。我不应该看到报价 1、4 或 5。
感谢您的任何指示和帮助。