MySQL表->您可以在同一查询中多次返回同一行吗?

问题描述:

SELECT * FROM menu WHERE item_id = 1 OR item_id = 2 OR item_id = 3;

上面的语句返回3行. 但是下面的语句仅返回2行.

The above statement returns 3 rows. But the statement below only returns 2 rows.

SELECT * FROM menu WHERE item_id = 1 OR item_id = 1 OR item_id = 2;

我知道为什么会这样,但是有一种方法可以迫使item_id 1返回两次?

And I understand why like, but is there a way to force item_id 1 to be returned twice???

我想退回的物品的示例:

Example of what I want to be returned:

id-> 1筹码€2.50
id-> 1筹码€2.50
id-> 2可乐€1.60
--------------------
总计€6.60

id -> 1 Chips €2.50
id -> 1 Chips €2.50
id -> 2 Coke €1.60
--------------------
Total €6.60

例如,您可以加入另一个表

You could join on another table, for example

SELECT * FROM menu
INNER JOIN order_items ON menu.item_id = order_items.item_id
WHERE order_id = 123;

或者只是将它们复制到您的应用程序中.

Or just duplicate them in your application.

您实际上不需要做您所要的事情.

You shouldn't really need to do what you're asking for.