1 つの注文に関連する複数の領収書を持つことができる注文システムがあります。私は最近、望ましくない結果をもたらす次のようなクエリに出くわしました。
SELECT info FROM orders WHERE id IN (1, 2, 2) ORDER BY FIELD (id, 1, 2, 2);
注文 #2 の行を 2 回返す方法はありますか? 現在、クエリは期待どおりに行 1 を返し、次に行 2 を返します。ただし、この特定のインスタンスでは、行 #2 を 2 回返す必要があります。
表はおおよそ次のとおりです (例として、完全に有効な MySQL ではないことはわかっています)。
CREATE TABLE orders (
id int(),
info VARCHAR(),
)
CREATE TABLE links (
orderid int(),
receiptid int()
)
CREATE TABLE receipts (
id int(),
otherinfo VARCHAR(),
)