【发布时间】:2021-05-18 06:21:38
【问题描述】:
我有两张桌子:
PRODUCTS
| id | name |
| -- | ------ |
| 1 | pen |
| 2 | pencil |
价格
| price | status | product_id |
| ----- | -------- | ---------- |
| 1.0 | accepted | 1 |
| 2.0 | closed | 1 |
| 2.0 | not relevant | 2 |
| 2.0 | closed | 2 |
我找到了一种使用子查询的方法:
SELECT * FROM PRODUCTS p
WHERE id in (select product_id FROM PRICES WHERE status = 'accepted')
AND id in (select product_id FROM PRICES WHERE status = 'closed')
但我认为,这不是最好的方法。还有哪些其他方法?是否可以使用 JOIN 或其他没有子查询的东西来做到这一点?
【问题讨论】:
标签: sql postgresql join