我有两张桌子,其中一个卖家保存了他正在销售的产品的记录。在另一张桌子上,买家保存他们需要购买的东西。
我需要从买家表中获取与销售表上的特定产品匹配的用户 ID 列表(uid 字段)。这就是我写的:
select n.[uid]
from needs n
left join ads(getdate()) a
on n.mid=a.mid
and a.[year] between n.from_year and n.to_year
and a.price between n.from_price and n.to_price
and n.[uid]=a.[uid]
and a.pid=n.pid
那么我需要使用 where 子句来消除那些不匹配的记录。因为我认为所有这些条件都是用ON
必须用where子句定义的。但加入至少需要一个ON
子句。可能我不应该加入两张桌子?我能做些什么?