使用富连接表中的属性筛选连接

时间:2017-09-21 08:25:37

标签: sql postgresql

假设我有这些表:

markets (id)
user_markets (user_id, market_id)
users (id)

我可以通过带有user_markets的INNER JOIN进入用户市场。

现在我向user_markets添加两列:price_aboveprice_below以及markets列:last_price

现在我们有:

markets (id, last_price)
user_markets (user_id, market_id, price_above, price_below)
users (id)

我现在的目标是获取({1}} markets.last_price的{​​{1}}和>= price_above的市场(针对用户)对应的<行。

我尝试了不同的东西,但显然我总是得到错误的结果。

我希望这是有道理的。谢谢你的提示。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,这应该有效:

SELECT m.*, u.* FROM markets m
INNER JOIN users u ON u.id = um.user_id
INNER JOIN user_markets um ON um.market_id = m.id
WHERE m.last_price >= um.price_above OR m.last_price < um.price_below