2012-01-24 5 views
-2

私は2つのテーブルを持っています。一方は注文IDを持つ注文情報を有し、他方のテーブルは注文詳細情報を有する。 order_detailsには、各order_idに複数の行があります。注文情報を取得し、order_detailsテーブルの各エントリに「列」を追加する単一のクエリが必要です。MySQLの2行の列

これは可能ですか?そしてもしそうなら、どうですか?

+0

すべて2つのテーブルにあります。 「情報」と「詳細」という言葉は同義語ではありませんか?どのように組み合わせてもいいですか?また、各エントリの列を追加して何を意味するのか混乱しますか? HTMLで?詳細テーブルの設定は何ですか? – bowlerae

+0

これは可能ですか?ほぼ間違いなく、はい。どうやって?あなたは私たちに教えてください - あなたのデータベースの列とあなたが返すものを正確に知らなくても、あなたに問い合わせることはできません。より正確な質問をすると、人々があなたを手伝ってくれることを喜んでいると確信しています。 – Hecksa

+0

私は@gahooaが提案したことをやっていました。誰かがもっと良い方法を知っていれば、私はずっと義務づけられています。 – nathangiesbrecht

答えて

1

これは加入過剰またはサブクエリと非常にハードコードされたクエリの例外で、MySQLで、または私が知っている任意のSQLは不可能です。

このタイプの問題は、通常、プログラミング言語のドメインに委ねられています。あなたはアドホックを持ってこれを行うには、クエリのために必要がある場合は、このようなものは、それを行うだろう(キーワードorderを引用する必要があります)

SQL例:これはなぜとして混乱

SELECT 
    order_id, 
    date, 
    (select amt from order_detail where order_id=order.order_id and detail_line=1), 
    (select amt from order_detail where order_id=order.order_id and detail_line=2), 
    (select amt from order_detail where order_id=order.order_id and detail_line=3), 
    (select amt from order_detail where order_id=order.order_id and detail_line=4), 
FROM 
    order 
WHERE 
    order_id = 1234 
+0

それは私がやっていたことですが、私はちょっと "かわいい"ものがあると思っていました。しかし、それが可能でないなら、私が推測することはできません。ありがとう! – nathangiesbrecht