質問 |
||
| 質問者:nono_taro | 2つの検索結果を繋げたい | |
|---|---|---|
困り度:
|
毎度お世話になります。 2つの異なるテーブルから 同じような結果をselectするのですが 可能ならば一発のSQL文で結果を得たいと考えております。 以下のように繋がった結果を得ることは可能でしょうか? ご教示いただければ幸いです。 宜しくお願いいたします。 A表へのselect結果1 あ | い ------------- (1) | (1) (1) | (1) B表へのselect結果2 あ | い ------------- (2) | (2) (2) | (2) 本来ほしい結果 あ | い ------------- (1) | (1) (1) | (1) (2) | (2) (2) | (2) ※単純に繋がった結果を得られれば満足です。 |
|
質問投稿日時:07/08/16 17:51 質問番号:3260013 |
||
回答 |
|
| 回答者:SUPER-NEO | #2です。 ちょっと勘違いしてました。 UNION ALL は、共通的に使える書き方ですから、 MySQL と書いてしまいましたが、Oracle でも十分に使えます。 |
|---|---|
| 種類:アドバイス どんな人:専門家 自信:参考意見 |
|
| |
回答日時:07/08/16 20:18 回答番号:No.3 |
|
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答良回答20pt |
|
| 回答者:SUPER-NEO | 結論から言えば可能です。 MySQL のドキュメントから、 「UNION ALL」の使い方を調べてみてください。 やりたいことは実現できるかと思います。 但し、私見として述べさせていただきますと、 2つ以上の結果をマージした形で結果を得る場合、 実際はサーバは、その回数だけ問い合わせを実行しています。 つまり、クライアントからサーバへのラウンドトリップは 1回だけですが、サーバ内部では複数の問い合わせが実行されています。 データ件数が膨大である場合は、テーブルの分散は効果的ですが、 少量データである場合の分散は逆効果である場合がありますので、 ご注意ください。 |
|---|---|
| 種類:アドバイス どんな人:専門家 自信:自信あり |
|
| |
回答日時:07/08/16 20:15 回答番号:No.2 |
|
| この回答へのお礼 | アドバイスありがとうございました。 やっと、やりたいことが実現できました! この度はお忙しい中、誠にありがとうございました。 |
回答良回答10pt |
|
| 回答者:chukenkenkou | union allで二つのselect文をくっ付けましょう。 |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:07/08/16 20:07 回答番号:No.1 |
|
| この回答へのお礼 | アドバイス、ありがとうございました。 こんなに簡単にできるとは思っていませんでした。 お恥ずかしい限りです。 |