- ベストアンサー
AccessSQLで1つのテーブルから複数のデータを取得する方法
- AccessSQLを使用して1つのテーブルから複数のデータを取得する方法について教えてください。
- 具体的には、F_1のAAAを条件にしてF_2のBBBとCCCを取得し、さらにその結果を条件にしてF_1のDDDとF_2のYYYを取得したいです。
- 上記の要件を満たすSQLを1つのクエリで実行する方法を知りたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- SQL文 テーブル1つに複数のデータ
お世話になっております。 SQLでの質問です。 --テーブル---------- F_1 F_2 AAA BBB AAA CCC BBB XXX CCC DDD DDD YYY 1.F_1のAAAを条件にF_2のBBB・CCCを取得し、 F_1のBBB・CCCと、F_2のXXXとDDDを取得します。 2.次に、取得したF_2のXXX・DDDを条件に、F_1のDDD、F_2のYYYを取得します。 これを1つのSQLで実行したいのですが、副問合せを駆使しても、良いSQLが思い浮かびません。 有識者の方、ご享受頂きたいです。 宜しくお願い致します。
- ベストアンサー
- Oracle
- 異なるテーブルのレコード削除
オラクル初心者です。宜しくお願いします。 AAA、BBB、CCCというテーブルがあると仮定します。 画面から入力された値(ddd)をキーとして、CCCテーブルから該当するレコードをセレクト文で引っ張り、eeeという値を抜き出したとします。 そのeeeという値をキーにAAA、BBBテーブルのレコードを削除するにはどういうSQLを発行すればよろしいでしょうか? "delete from AAA, BBB where eee = (select eee from CCC where fff = ddd);" では駄目でした。 質問が下手でわかりにくいかもしれませんが、どうかご教授お願いします。
- ベストアンサー
- Oracle
- 複数のテーブルを使ってselectしたい
以下のようなことをしようと思っていますが、いろいろやってみてもできなかったのでお尋ねします。 ログインのログを集計しています。 テーブルの構成は大まかには ID logintime aaa 2004-11-10 10:10:10 bbb 2004-11-10 10:10:11 ccc 2004-11-10 10:10:12 aaa 2004-11-10 10:10:13 aaa 2004-11-10 10:10:14 という構成です。 これが1日ごとに、 log_20041108 log_20041109 log_20041110 log_20041111 という感じで並んでいます。 それで、やりたいことは「ユニークログイン数のカウント」です。 1日であれば > select count(distinct id) from log_20041111; などでできると思うのですが、 (上記の例で行くとこれは3になりますね。) これをイメージ的には > select count(distinct id) from log_20041111,log_20041110,log_20041109; のように、複数のテーブルでやりたいのです。 ID logintime aaa 2004-11-11 10:10:10 bbb 2004-11-11 10:10:11 ccc 2004-11-11 10:10:12 aaa 2004-11-11 10:10:13 aaa 2004-11-11 10:10:14 ID logintime aaa 2004-11-10 10:10:10 bbb 2004-11-10 10:10:11 ddd 2004-11-10 10:10:12 aaa 2004-11-10 10:10:13 ID logintime aaa 2004-11-09 10:10:10 bbb 2004-11-09 10:10:11 eee 2004-11-09 10:10:12 これに対して、「5」という結果が取り出したいのです。 (aaa, bbb, ccc, ddd, eeeの5人) 何かいい方法がないでしょうか?? 宜しくお願い致します。
- ベストアンサー
- MySQL
- 副問い合わせのinsert文
いつもお世話になっています。 insert文の副問い合わせのことでお聞きしたいのですが、 ■通常のinsert文 insert into AAA values(aaa,bbb,ccc); 上記のsqlを副問い合わせにした場合(aaaに別テーブルからの検索結果を入れたい場合)どういうSQL文になるでしょうか。 参考書等を参照すると、副問い合わせの場合はvaluesを省略する(使えない?)と記述がありました。 insert into AAA values ( aaa IN (SELECT bbb from BBB where ccc = ddd),bbb,ccc); とはできないみたいですので… どうかご教授宜しくお願いします。
- ベストアンサー
- Oracle
- 複数の条件
名前 G番号 G連番 数量 チーム AAA 1 1 80 1 AAA 2 1 99 1 AAA 3 1 98 1 AAA 3 2 60 1 AAA 4 1 99 1 AAA 4 2 97 1 BBB 1 1 22 2 BBB 2 1 19 2 BBB 2 2 99 2 BBB 3 1 50 2 CCC 1 1 99 1 CCC 2 1 99 1 DDD 1 1 99 1 DDD 2 1 99 1 DDD 1 1 99 2 DDD 2 1 99 2 以上のようなテーブル T_Aがあるとして、以下のような優先順位での抽出条件を考慮した場合のSQL記述方法が分かりません。教えていただけますでしょうか。 名前 "AAA" OR "DDD" ↓ チーム "1" ↓ G番号 "最大"のもの ↓ G連番 "最大"のもの 欲しいレコード 名前 G番号 G連番 数量 チーム AAA 4 2 97 1 DDD 2 1 99 1 以下のようにやってみましたが駄目でした。 SELECT 名前,G番号,G連番,数量,チーム FROM T_A WHERE 名前='AAA' OR 名前='DDD' AND チーム='1' AND (G番号=(SELECT MAX(G番号) FROM T_A)) AND (G連番=(SELECT MAX(G連番) FROM T_A)) 宜しく御願いいたします。
- ベストアンサー
- その他(データベース)
- 重複レコードの抽出について
以下のようなテーブルからmailが重複していてnameの値が全て同じ値を持つレコードを取得するためのSQL文を教えてください。 mail | name ----------- aaa | 01 aaa | 01 aaa | 01 bbb | 02 bbb | 02 bbb | 01 ccc | 01 ccc | 01 ccc | 02 select * from test where mail in (select mail from test where mail group by mail having count(mail)>1) 上記のSQL文だと以下のデータが取得されてしまいます。 ↓ mail | name ----------- aaa | 01 ○ aaa | 01 ○ aaa | 01 ○ bbb | 02 × bbb | 02 × ccc | 01 × ccc | 01 × ○印のみ取得したいのですが、 SQL文をどのように修正すればよいのでしょうか。 よろしくお願いいたします。
- 締切済み
- その他(データベース)
- SQLで他のテーブルに無いIDの抽出
MySQLを使っています。 下記は、 1.テーブルaaaには、存在するidのものが、 2.テーブルbbbには、存在しない、 3.テーブルaaaのレコードを抽出したいものです。 "SELECT DISTINCT aaa.*" + " FROM aaa" + " WHERE (aaa.flag = false)" + " AND NOT EXISTS (SELECT * FROM bbb" + " WHERE (aaa.id = bbb.id) AND (bbb.flag = false))" ですが、実行すると、下記エラーがでます。 SQLException:Base table or view not found, message from server: \"Unknown table 'bbb' in where clause" どうすればよいのでしょうか?
- ベストアンサー
- MySQL
- SQL 複数条件を設定
PostgreSQLを使用しております。 それぞれ、TABLE1とTABLE1があり、 TABLE1 a-1 a-2 b-1  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 1 bbb aaa ddd 2 ggg bbb ccc 3 bbb mmm ddd 4 ggg mmm ccc : TABLE2 a-1 a-2 c-1  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 1 bbb aaa eee 2 ggg mmm qqq : 質問1. TABLE1.a-1=TABLE2.a-1 and TABLE1.a-2=TABLE2.a-2 を条件にして結合 したい場合、どのように結合すればよいのか。 期待結果 a-1 a-2 b-1 c-1  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 1 bbb aaa ddd eee 2 ggg bbb ccc ※ 3 bbb mmm ddd ※ 4 ggg aaa ccc qqq ※は空白でもNULLでもよい 質問2. 上記が可能な場合にさらに質問です。 TABLE1およびTABLE2が、SELECT,WHEREによって抽出されたものとした場合、 1つのSQL文で質問1と同様の出力にするにはどのように結合すればよいのか。(はたまた無謀なのか) 知識不足のため悩んでいる状況なので、 どなた様か知識がある方にご教授願いたく思います。
- ベストアンサー
- PostgreSQL
- selectでテーブルから2つの値を引っ張る
table 123 id name ------- 1 aaa 2 bbb 3 ccc table 987 from to ------- 1 2 2 3 3 1 という表があります。これを from to ------- aaa bbb bbb ccc ccc aaa という様に表示させるためのSQL分がわかりません。 1つの表から2つを引っ張るのはどうすればいいのでしょうか?
- ベストアンサー
- その他(データベース)
- Pro*CでのSQL文について
こんにちは。 Pro*CでSQLを実行しようとしています。 varchar table_data[200]; (略) EXEC SQL SELECT aaa, bbb, ccc INTO :table_data FROM SAMPLE (略) のようにしてSAMPLEテーブルの列(aaa,bbb,ccc)を変数table_dataに 格納したいと考えています。(もちろん、現在はtable_dataにはaaaの値しか 入っていません(泣)) こういった漢字で変数table_dataに選択列(複数)を取得できるような考えは あるのでしょうか? ちなみにaaa,bbb,cccの区切り文字は考えなくても構いません。 ご多忙でしょうが、どのたかご回答宜しくお願い致します。
- 締切済み
- その他(データベース)
- エレコム株式会社のWRC-X3200GST3-bを使用している際に、突然インターネット接続できなくなります。2.4GHzと5GHzが交互に点滅する現象が発生し、コンセントの抜き差しで一時的に接続できるようになりますが、1日に1、2回発生します。この問題の原因は設定に関連しているのでしょうか。
- エレコム株式会社のWRC-X3200GST3-bを使用していると、突然インターネット接続できなくなります。画面上には「インターネット接続できません」というエラーメッセージが表示され、2.4GHzと5GHzのランプが交互に点滅する状態になります。コンセントを抜き差しすることで一時的に接続できるようになりますが、何度も同じ現象が発生します。この問題は設定によるものなのでしょうか。
- エレコム株式会社のWRC-X3200GST3-bを使用している時に、突然インターネット接続できなくなります。2.4GHzと5GHzのランプが交互に点滅し、画面には「インターネット接続できません」というメッセージが表示されます。コンセントの抜き差しをすると一時的に接続できますが、1日に数回同じ現象が起こります。この問題は設定に関係しているのでしょうか。
お礼
ありがとうございました!
補足
例が間違っているのにSQLを記載してくださってありがとうございます。 4世代(4段階)あるので、入れ子入れ子で遅くなってしまうのです… 一つ一つに分けて発行するようにしました。 ご返答誠にありがとうございます。