Php 选择表中具有相同表中不同列的值条件的行
我得到了一个表,它用如下列表示订单中的项目: 我有一个商品,商品号为12345,有好几个订单 我想选择满足以下条件的所有项目: 项目的顺序与项目_id=12345相同 我尝试使用这个SQL命令,但我认为我的方法不好Php 选择表中具有相同表中不同列的值条件的行,php,mysql,sql,select,conditional,Php,Mysql,Sql,Select,Conditional,我得到了一个表,它用如下列表示订单中的项目: 我有一个商品,商品号为12345,有好几个订单 我想选择满足以下条件的所有项目: 项目的顺序与项目_id=12345相同 我尝试使用这个SQL命令,但我认为我的方法不好 SELECT item_name FROM item_order WHERE order_id IN ( SELECT order_id FROM item_order WHERE item_id = 12345 ) 结果,我想得到的是:
SELECT item_name
FROM item_order
WHERE order_id IN (
SELECT order_id
FROM item_order
WHERE item_id = 12345
)
结果,我想得到的是:
感谢您的建议,如果主题混淆,请道歉。您似乎错过了您身体状况的另一部分:
SELECT item_name
FROM item_order
WHERE order_id IN (
SELECT order_id
FROM item_order
WHERE item_id = 12345
)
AND item_id != 12345
你想从订单中获取什么?我想获取订单中所有不同的项目,其中id为12345的项目发生是的,你是对的-但在第一步后面有一个问题,我认为这是因为结果不正确,查询时间很长,比如60秒,所以还有其他方法吗?
--------------------------------------------------
| id | item_id | item_name | order_id |
--------------------------------------------------
| 2 | 55555 | bbbb | 1001 |
--------------------------------------------------
| 3 | 66666 | cccc | 1001 |
--------------------------------------------------
| 5 | 99999 | yyyy | 1002 |
--------------------------------------------------
SELECT item_name
FROM item_order
WHERE order_id IN (
SELECT order_id
FROM item_order
WHERE item_id = 12345
)
AND item_id != 12345