- ベストアンサー
値が存在しない場合の処理について
使用プログラム>>Access2000 上手く説明できないのですが、 テーブルAとBとの比較で、フィールド1とフィールド2がBの同じフィールドと一致したら、Bの合致したデータのField3と一致するテーブルCのデータを取得したいと思っています。 同時に、一致しなくても値を返して欲しいのですが、そのような事は可能でしょうか? 欲しいデータ:テーブルCのフィールド 条件1:テーブルAとBの共通フィールドの一致(AND) 条件2:テーブルBとテーブルCの共通フィールドの一致(条件1のフィールドとは別) 条件3:一致しない場合でも値が欲しい。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- DexMachina
- ベストアンサー率73% (1287/1744)
- O_cyan
- ベストアンサー率59% (745/1260)
- DexMachina
- ベストアンサー率73% (1287/1744)
関連するQ&A
- ACCESSクエリでの結合の仕方
ACCESS 2003を使用しています。 テーブルA テーブルB テーブルC の3テーブルでクエリを作っています。結合的には・・・ テーブルAのフィールドX⇔テーブルCのフィールドX テーブルBのフィールドX⇔テーブルCのフィールドX です。 これで3テーブルに共通する一致データのみ抽出はできるのですが、 3テーブルに共通する一致データに加えて、テーブルAとテーブルBの不一致データ(テーブルCに対する)も一緒に抽出できるようにしたいのです。 2テーブルだけの結合であれば、結合プロパティを、 テーブルAのフィールドX⇒テーブルCのフィールドX のようにすることで実現できるのですが、3テーブルの結合の場合、どのようにすればよいでしょうか? テーブルAのフィールドX⇒テーブルCのフィールドX テーブルBのフィールドX⇒テーブルCのフィールドX のようにしてみましたが、「あいまいな外部結合が含まれているので、SQLステートメントを実行できません。云々。。。」と警告エラーがでてしまいます。 どなたが、ご教授いただけると助かります。 ご面倒ですが、よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- ACCESSクエリでの結合の仕方・・・SQL文かも
ACCESS 2003を使用しています。 テーブルA テーブルB の2テーブルでクエリを作っています。 結合的には・・・ テーブルAのフィールドX ⇔ テーブルBのフィールドY です。 これで2テーブルに共通する一致データのみ抽出はできるのですが、 2テーブルに共通する一致データに加えて、 2テーブルの不一致データも一緒にクエリ表示されるようにしたいのです。 欲しいのは抽出イメージは、以下のような感じのクエリ結果です。 テーブルA:フィールドX|テーブルBのフィールドY a |(空) (空) |b c |c d |(空) (空) |e f |f g |(空) h |h おそらく、SQL文を書く必要があるとは、想像できるのですが・・・ どなたか、ご教授いただけると助かります。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- SQLで複数のテーブルと結合したUPDATE文
普通のUPDATE文はUPDATEするテーブル名を一つ記入して UPDATE テーブルA SET フィールドA = 値A WHERE テーブルA.フィールドB = 値B みたいな感じですが、私のしたい事はと言うと UPDATE テーブルA,テーブルB,テーブルC SET A.フィールドA = 値A WHERE テーブルA.フィールドA = テーブルB.フィールドB AND テーブルB.フィールドB = テーブルC.フィールドC AND テーブルB.フィールドD = 値D AND テーブルC.フィールドE = 値E という具合に複数のテーブルがUPDATEするテーブルA以外のところで、互いに条件で結ばれており、FROM句でUPDATEしないテーブル名まで宣言しないといけなくなっています。そもそもこういうFROM句を使うUPDATE文は実行可能かも不明です。どなたか解決策お願いいたします。ちなみに開発ソフトはVBAを使っています。
- ベストアンサー
- Visual Basic
- 同じデータベース内で値の参照
あるA,B,Cのテーブルがあり、 Aの主キーはシーケンシャル番号が振られています。 この値を参照し、B,Cのテーブルのフィールドに挿入したいのですが、 私のやり方は (1)まずAをInsertする (2)AでInsertしてできたシーケンシャル番号を取得し、 (3)BをInsertする (4)CをInsertする と少しややこしい方法しか思いつきませんでした。 何かよいアイデアがあれば教えていただけたら、ありがたいです。
- ベストアンサー
- PostgreSQL
- MySQLのクエリの質問です
テーブルAにフィールドBとフィールドCがあります。 phpmyadminを使って、フィールドBの値が一致するが、フィールドCの値が不一致のレコードを検索したいと思っています。 このような場合はどのようなクエリを書けばよろしいでしょうか? よろしくお願いいたします。
- ベストアンサー
- MySQL
- 「指定の値を含む」で二つの条件を設定するには
アクセスのテーブルのテキストフィルタで 「指定の値を含む」で二つの条件を設定するにはどうすればいいでしょうか? 例えば、 フィールド1で[A]and[B]を含むレコードを抽出する方法を教えてください。 クエリは使いたくないです。
- ベストアンサー
- オフィス系ソフト
- 1つのテーブルからのデータ取得
お世話になります。 Table1にはA,Bのフィールドがあり 例えば A=01のレコードを取得(取得するフィールドはA,B) このレコードを(1)とする。 Table1のうち、Aが(1)のBと一致する レコードを(2)とする。 Table1のうち、Aが(2)のBと一致する レコードを(3)とする。 N番目のBと一致するTable1のAがなくなるまで 上記を繰り返す。 (1),(2),(3)・・・の A,Bの値を取得するためには どういうSQL文を書けばいいでしょうか? 例:ここでA=01を設定する テーブル例と結果 Table1 A: B 01:02 取得 02:04 取得 02:05 取得 03:04 X 04:06 取得 05:10 取得 07:11 X 10:15 取得 以上お教えください。よろしくお願いします。
- ベストアンサー
- SQL Server
- Access Dcount で抽出条件複数の場合
教えてください。Access2000です。 テーブルAでフィールド1の値が「1」でフィールド2の値が「Cを含む全て」としたいのですがどうしたら良いですか? テキストボックスのコントロールソースに記入します。 DCount("*","[テーブルA],"[テーブルA]![フィールド1]=1 and [テーブル1]![フィールド2]='*C*'") よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- SQL文の処理速度向上策について
はじめまして 当方、初心者で勉強の身です。ご回答頂けたら幸いです。 3つのテーブルから下記条件の項目を取得したのですが どうにも処理速度が遅く困っております。 副問い合わせなどを使い、速度向上を図りたいのですが 良い案はありませんでしょうか。 <テーブル>テーブル名(項目1,項目2・・・) (1)music(項目1~20)総レコード数1万件 (2)data(項目1~12)総レコード数6万件 (3)inside(項目1~18)総レコード数4万件 3テーブルとも3つの同一項目のKeyで構成されています。 <条件> 今日追加された(1)テーブルのレコードの中で(2)、(3)のテーブル両方ともに存在しないレコードを取得すること。(比較項目は3つのKeyのみ) ちなみに現在のSQLは以下の用になっています。 select DISTINCT a.1, a.2, a.3 (3つともKey項目です。) from music a, data b, inside c where a.4 = 20091118 (該当レコードは10件程度です。) and a.1 != b.1 and a.1 != c.1 and a.2 != b.2 and a.2 != c.2 and a.3 != b.3 and a.3 != c.3 結果として出力されるレコードは5件程度です。 以上です。よろしくお願い致します。
- ベストアンサー
- Oracle
- 幕末の海防とは、寛政5年に幕府が沿岸諸藩に海防を命じ、各地に「台場」が構築されました。関西の諸藩により築かれた台場は86ヶ所で、そのうち1/3強の37ヶ所が和歌山藩のものでした。
- 大砲の調達方法は、国産のものと外国からの購入がありました。外国からの購入の場合、自国の船を砲撃する可能性のある大砲を輸出することになりますが、具体的な国や方法については不明です。幕府や諸藩がどの程度の威力の大砲を購入したかは詳細が不明ですが、南北戦争の残り物を押し付けられた可能性もあります。
- 幕府や諸藩の大砲に関する具体的な知識については不明ですが、幕末の海防は日本国内の沖縄や薩摩などを含む沿岸地域の防衛を目的として構築されたものでした。
お礼
回答ありがとうございます。 >条件1のA・BのField1とField2が一致とありますが >A・BのField1とField2が一致していないレコードも取得したいというこなのでしょうか? >どのフィールドをなければNull(空白)で表示したいのでしょうか? 仰るとおりの処理です。 A・BのField1とField2が一致していない場合はB・Cに値を取得しに行くのではなく、Nullで表示して欲しい、という事です。 逆に一致した時だけCの値を取りに行く判定をしてほしいのです。 よろしくお願いします。
補足
長い間お付き合いいただいてありがとうございます。 どうやらSQL云々の話ではなくて、現在テストデータで動かしているのですが、それがどうも間違っていたみたいで…。 各テーブルの仕様も良くわからないまま作ろうとしていたので今回とても勉強になりました。 どうもありがとうございました。