- 締切済み
2つのテーブルを結合してデータ抽出時に
2つのテーブルからデータを取得したいです。 結合し、データの取得を試みてますが、キーに対して空白の行が取得できません。どうしたらよいでしょうか?助けてください。 Aテーブル Bテーブル 1 100 A 1 みかん 2 150 B 2 りんご 4 200 D 3 すいか 5 300 E 4 なし 6 500 F 6 高級なし 上記のようなテーブルをくっつける時の話で求める値は以下なんですが… Cテーブル 1 100 A みかん 2 150 B りんご 3 すいか 4 200 D なし 5 300 E 6 500 F 高級なし どちらかがデータなしでもキー(例の場合は1とかの数字です)があるもの は表示したいです。 どなたかわかるかた教えてください。お願いします。 ちなみに使用しているのはoracleです。
- goo-k-i
- お礼率77% (14/18)
- SQL Server
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- aenvgielle
- ベストアンサー率14% (128/893)
#1です。 すみません、Oracleでは完全外部結合は使用できないみたいですね。 LEFT OUTER JOIN と RIGHT OUTER JOIN を UNION で組み合わせるようです。
- aenvgielle
- ベストアンサー率14% (128/893)
FULL OUTER JOIN を使用すればできると思います。
関連するQ&A
- 2つのテーブル結合
Oracle10g使用しています。 テーブルAとテーブルBを結合させてデータを取得したいと思っています。 [テーブルA] ID name 1 A 2 B 3 C 4 D [テーブルB] ID SEQ VALUE 1 1 111 2 1 222 2 2 333 3 1 444 4 1 555 4 2 666 4 3 777 テーブルAのキーは[ID]、テーブルBのキーは[ID,SEQ]です。 この二つを連結して以下のように出力したいと思っています。 ID SEQ NAME VALUE 1 1 A 111 2 2 B 333 3 1 C 444 4 3 D 777 テーブルBのデータは同じIDのうち最大のSEQのものを取得したいのですが よいSQLが思いつきません。 よい方法があればご教授ください。 よろしくお願いいたします。
- ベストアンサー
- Oracle
- エクセル関数で、2列の情報を1列に順番に並べたい
以下の元データのようにA~D列にある情報を、 下方のE列、F列にあるように情報を合わせて表示したい場合、 E列、F列にはどのような関数を入れたらよいでしょうか。 COUNTIFやVLOOKUP関数を試してみましたが、 うまく順番に並べることができず途方に暮れています。。。 どなたかお知恵がある方、マクロではなく関数で 教えていただけたらありがたいです。 ※A列はB列の情報番号、C列はD列の情報番号です。 ↓元データ↓ A B C D 1 みかん 1 あ 1 みかん 2 い 1 みかん 3 う 2 りんご 4 え 2 りんご 5 お 3 すいか 6 か 3 すいか 7 き 3 すいか 8 く 3 すいか 9 け ↓このようにしたいです。↓ A B C D E F 1 みかん 1 あ 1 みかん 1 みかん 2 い 1 あ 1 みかん 3 う 2 い 2 りんご 4 え 3 う 2 りんご 5 お 2 りんご 3 すいか 6 か 4 え 3 すいか 7 き 5 お 3 すいか 8 く 3 すいか 3 すいか 9 け 6 か 7 き 8 く 9 け 何とぞよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excelで複数条件で抽出した複数データを出力
Excelで複数条件で抽出した複数データを出力したい Shett1のセルAとセルBの複数条件で、Sheet2を検索し一致したSheet2のセルCを Sheet1の該当するセルCに入れたいのです。 それを関数でするのはどうしたらいいのでしょうか? Sheet1 A B NAME ID(タイトル) いちご A01 いちじく A02 かき B01 すいか C01 なし D01 ぱいなっぷる E01 ばなな E02 ぶどう F01 みかん G01 めろん H01 もも I01 りんご J01 Sheet2 A B C 名前 ID 漢字(タイトル) みかん G01 蜜柑 いちご A01 苺 ぶどう F01 葡萄 りんご J01 林檎 もも I01 桃 かき B01 柿 なし D01 梨 すいか C01 西瓜 いちじく A02 無花果
- ベストアンサー
- オフィス系ソフト
- access テーブル結合の逆?
Access2003 お世話になります。SQLで以下のようなデータを取得する場合、上手い方法はあるのでしょうか。なんだかとても簡単な事のような気がするのですが…… テーブルA: ---品名--- りんご みかん もも いちご テーブルB: ---品名--- りんご もも このテーブルBに入力されているレコードをテーブルAから"除外"して、結果として「みかん」と「いちご」だけが欲しいのです。 テーブルBのレコードが少なければ、直接 品名<>"りんご" とか書いてもいいのかもしれませんが、結合のようなSQLで一発でできてしまったりしないでしょうか。 access上で可能なスマートな方法があれば教えていただきたいです。 よろしくお願いいたします。
- ベストアンサー
- その他(データベース)
- Accessで重複データを結合するには?
こんにちわ、みなさん。 Access超初心者です。よろしくお願いします。 Accessのテーブルで下記のようなデータがあるとします。 店名 | 商品 | A店 |リンゴ | A店 |トマト | A店 |ナシ | B店 |リンゴ | B店 |みかん | これを下記のように店名ごとに商品名を結合したいのです。 (レポートではなく、テーブルにしたいです) 店名 | 商品 | A店 |リンゴ;トマト;ナシ | B店 |リンゴ;みかん | 重複クエリーを使えばと思ったのですが、 思ったとおりにはなりませんでした。。 どうぞ、よろしくお願い致します。m(__)m ---------------------------------------- OSは、Windows 98 アプリケーションは、Access 2000 です ----------------------------------------
- ベストアンサー
- オフィス系ソフト
- 同一テーブルから複数件のデータを取得して1データとしてみたい
こんにちは。 現在、以下の構成のテーブルから 複数件のデータを取得して1つのデータとして 参照したいと思っているのですがどうやって よいものかわかりません。 申し訳ありませんがご教授ください。 --------------------- テーブルsample --------------------- 項目A key 項目B key 項目C key 項目D 項目E --------------------- 取得したいデータは以下の通りで 同一の項目A,B,Cでグルーピングして 項目D,Eが存在する分だけ取得したいと思っております。 ----------------------------------------------- 項目A,項目B,項目C,項目D,項目E,項目D,項目E,..... -----------------------------------------------
- ベストアンサー
- Oracle
- テーブル結合について
テーブルの結合についてお聞きしたいことがあります。 カラム「KEY」を結合条件に テーブルA、B、Cを結合して【取りたい結果】のようなデータを取りたいと思っています。 しかし、テーブルAにBとCをLEFT JOINを結合した所、 【取得された結果】のデータが取得されました。 どのような結合をしたら期待通りの結果が得られるのでしょうか? 回答宜しくお願いします。 【取得された結果】 key dataA dataB dataC ------------------------------------------------- 1 A-1 B-1 C-1 A-1 B-1 C-2 A-1 B-1 C-3 2 A-2 3 A-3 【取りたい結果】 key dataA dataB dataC ------------------------------------------------- 1 A-1 B-1 C-1 A-1 C-2 A-1 C-3 2 A-2 3 A-3 【テーブルA】 key dataA --------------------- 1 A-1 2 A-2 3 A-3 【テーブルB】 key dataB --------------------- 1 B-1 【テーブルC】 key dataC --------------------- 1 C-1 1 C-2 1 C-3
- 締切済み
- Oracle
- Access、複数のテーブルからデーターを抽出する
Access初心者です。 いくつかのテーブルがあります(日付順に用意されています) そのテーブルから、指定のセル(といっていいのでしょうか) より、データーをクエリとして抽出したいのですが、簡単なやり方はあるのでしょうか? 例として、 テーブル名 [0301]、[0302]、[0303]、[0304]、[0305]、・・・・・・・・。という5つのテーブルがあります。 1つのテーブル内は、このようになっています。 ------------------------------------- A B C D E F G 1 2 3 4 11 22 33 44 55 66 5 ------------------------------------- この5つのテーブルより、「B4」から「F4」までのデーターのみを ------------------------------------- 0301 ・・・・・・・・・・・・・・・・・・・・・・・・ 0302 ・・・・・・・・・・・・・・・・・・・・・・・・ 0303 ・・・・・・・・・・・・・・・・・・・・・・・・ 0304 -------------------------------------- といったように取り出すことはできますか? どうぞ宜しくお願い致します。
- ベストアンサー
- その他MS Office製品
- 二つのデータを比較してデータを自動でコピペしたい
Sheet1「元データ」 A B C D 1 0001 みかん A店 3/1 2 0200 りんご B店 3 0311 いちご B店 3/10 4 いちじく C店 5 0360 メロン D店 6 かき P店 7 0312 キウイ D店 Sheet2「最新データ」 A B C D 1 0001 みかん A店 3/1 2 0190 3 0200 りんご B店 4 0311 いちご B店 3/10 5 0422 洋ナシ C店 6 0250 7 0500 すいか P店 8 0312 キウイ というデータがあり、Sheet1のデータで、Sheet2には無いものがあったら、Sheet2に追加をしたいのですが、どのようにすればよいのか、さっぱりで困っています。何かヒントなどを戴きたいと思います。 よろしくお願いします。 こんな感じにしたいです。 Sheet2「最新データ」 A B C D 1 0001 みかん A店 3/1 2 0190 3 0200 りんご B店 4 0311 いちご B店 3/10 5 0422 洋ナシ C店 6 0250 7 0500 すいか P店 8 0312 キウイ 9 いちじく C店 10 0360 メロン D店 11 かき P店
- ベストアンサー
- オフィス系ソフト
- データの無いテーブルと結合してデータ抽出
以下のテーブルを使用してデータを抽出したいのですが、データが抽出できません。 名称テーブル -------------------- ID | NAME | -------------------- 0 AA 1 BB 2 EE 3 FF 履歴テーブル -------------------- ID | DAY | OLDNAME -------------------- 2 2004 CC 3 2004 DD 結果取得したいデータ -------------------- ID | NAME | OLDNAME -------------------- 0 AA =現在のSQL= SELECT A.ID, A.NAME, B.OLDNAME FROM 名称 A , 履歴 B WHERE A.ID = B.ID(+) AND A.ID=0 AND B.DAY = (SELECT MAX(C.DAY) FROM 履歴 C WHERE A.ID = C.ID(+)) 履歴テーブルには名称テーブルの履歴があります。 履歴にデータが無くても名称データを取得したいのですが、こういった場合はどのようなSQLを作ればいいのでしょうか。
- ベストアンサー
- Oracle
お礼
ご回答ありがとうございます。 FULL OUTER は試してみましたが、どうやらSQLSERVERじゃなきゃだめでした… UNIONしてまずは仮想の1つの表をつくってから結合しかないですかね… ちょっとやってみたいと思います。 ありがとうございます。