【发布时间】:2014-01-19 04:13:24
【问题描述】:
我有一个表格,它代表订单中的项目,其列如下:
--------------------------------------------------
| id | item_id | item_name | order_id |
--------------------------------------------------
| 1 | 12345 | abcd | 1001 |
--------------------------------------------------
| 2 | 55555 | bbbb | 1001 |
--------------------------------------------------
| 3 | 66666 | cccc | 1001 |
--------------------------------------------------
| 4 | 12345 | abcd | 1002 |
--------------------------------------------------
| 5 | 99999 | yyyy | 1002 |
--------------------------------------------------
| 6 | 12345 | abcd | 1003 |
--------------------------------------------------
| 7 | 98765 | qqgg | 1004 |
--------------------------------------------------
| 8 | 55112 | ffdd | 1004 |
我有一个 item_id = 12345 的商品,有多个订单。
我想选择所有满足条件的项目:
- 物品的顺序相同,例如 item_id = 12345
我尝试了这个 SQL 命令,但我认为我的方法很糟糕。
SELECT item_name
FROM item_order
WHERE order_id IN (
SELECT order_id
FROM item_order
WHERE item_id = 12345
)
结果,我想得到的是:
--------------------------------------------------
| id | item_id | item_name | order_id |
--------------------------------------------------
| 2 | 55555 | bbbb | 1001 |
--------------------------------------------------
| 3 | 66666 | cccc | 1001 |
--------------------------------------------------
| 5 | 99999 | yyyy | 1002 |
--------------------------------------------------
感谢您的建议,如果主题混淆了,我们深表歉意。
【问题讨论】:
-
你想用
item_id =12345获取什么订单? -
我想获取订单中所有不同的商品,其中出现了 id 为 12345 的商品
标签: php mysql sql select conditional