- ベストアンサー
SQLの書き方について教えてください。
accessについて。 シートの中に列名name、列名friendnameがあります。 name,friendname aaaa,bbbb bbbb,cccc cccc,aaaa dddd,aaaa eeee,bbbb ffff,eeee ほしいデータは aaaa,bbbb,cccc bbbb,cccc,aaaa cccc,aaaa,bbbb dddd,aaaa,bbbb eeee,bbbb,cccc ffff,eeee,bbbb と友達の友達の名前がほしいのです。 SQLの書き方を教えてください。 よろしくお願いします。
- dvfvffvfdfjejkd
- お礼率28% (2/7)
- その他(データベース)
- 回答数3
- ありがとう数0
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
テーブル名を「TF」と仮定します。 また、name に重複が無いものとします。 クエリのSQLビューで以下を記述します。 SELECT Q1.name, Q1.friendname, Q2.friendname AS friendname2 FROM TF AS Q1 LEFT JOIN TF AS Q2 ON Q1.friendname = Q2.name; この表示結果は以下となります。 name friendname friendname2 aaaa bbbb cccc bbbb cccc aaaa cccc aaaa bbbb dddd aaaa bbbb eeee bbbb cccc ffff eeee bbbb
その他の回答 (2)
- 30246kiku
- ベストアンサー率73% (370/504)
#1です 投稿直前に補足が見えたのですが、読んでません。 INNER JOIN が正しいのであれば、それはそうかもしれません。 LEFT JOIN としたのは、以下の様に friendname に記述された方が name に居なかった時のことを考えただけでした。 元テーブルが以下だった時 name friendname aaaa bbbb bbbb cccc cccc aaaa dddd gggg eeee bbbb ffff eeee #1での表示結果は name friendname friendname2 aaaa bbbb cccc bbbb cccc aaaa cccc aaaa bbbb dddd gggg eeee bbbb cccc ffff eeee bbbb となるだけです。
- 原沢 信道(@nharasawa)
- ベストアンサー率53% (90/168)
SELECT T1.name,T1.friendname,T2.friendname FROM テーブル名 T1 INNER JOIN テーブル名 T2 ON T1.friendname=T2.name ORDER BY 1 が一般的なSQL文です。
関連するQ&A
- SQLでの集計
下記の様に、「複数のitemを買っているuserと購入されたitem」のテーブルと、 user item ---------------------------------- 田中 AAAA 田中 CCCC 田中 EEEE 北野 DDDD 北野 BBBB 北野 AAAA 小堺 CCCC 小堺 EEEE 松本 EEEE 松本 KKKK 松本 CCCC 松本 DDDD 浜田 BBBB 浜田 DDDD 下記の様な IDに紐付いた 「item」のテーブルから、 ID item ---------------------------------- 1 AAAA 2 BBBB 3 CCCC 4 DDDD 5 EEEE 下記の様に各itemと各itemを買った場合に一緒に買われるitemの一覧を結果 として表示させたいのですが、クエリの作り方が思い浮かばず、困っています。 ※)可能であれば、買われたitemを表示する際にはbuy1から(左側から)同時購入 回数の多いitemを重複せずに並べて表示したい ID item buy1 buy3 buy4 buy5 buy6・・・・ ---------------------------------- 1 AAAA CCCC BBBB DDDD EEEE 2 BBBB DDDD AAAA 3 CCCC AAAA EEEE DDDD KKKKK 4 DDDD AAAA BBBB CCCC EEEE 5 EEEE AAAA CCCC KKKKK 尚、IDと紐付いているitem数は決まっていますが、買われるitemの種類は上記 の様にIDが1~5だけではなく、集計してみないと判らない状況です。 今の所、SQLはACCESS(2003)上にて手打ちしています。 以上、ご教示のほど、宜しくお願い致します。
- ベストアンサー
- その他(データベース)
- UNIXで文字列分割
UNIXでマルチバイトの文字列で分割したいです。 例) aaaa bbbb cccc dddd eeee ffff ↓ [bbbb]で分割 [1]aaaa [2] cccc dddd eeee ffff できればawkで処理をしたいと考えています。
- ベストアンサー
- その他(プログラミング・開発)
- access で 方法を教えてください。
access で 方法を教えてください。 テーブルは セミコロン区切りで、区切られて表示されています (テーブル例) 1 aaaa;bbbb;cccc;dddd;eeee;ffff 2000byte 2 aaaa 300byte 3 bbbb;cccc;ffff 3000byte 4 ffff;dddd 120byte このセミコロン区切りの区切られたデータの 「件数」と「バイト」を表で表示させる方法を教えて欲しいのです。 上記テーブル例を使用しての(抽出例) 抽出条件 ↓ aaaa 2件 2500byte bbbb 2件 5000byte cccc 2件 5000byte dddd 2件 2120byte eeee 1件 2000byte ffff 3件 5120byte 宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- wordの段落を通番で振りなおしたい
word2003で段落を設定した文書があるんですが、番号を振りなおしてつけているため、以下のようになっております。 1.aaaa 2.bbbb 3.cccc 1.dddd 2.eeee 1.ffff 2.gggg 3.hhhh これを以下のような通しの段落番号に変換することは可能でしょうか? 1.aaaa 2.bbbb 3.cccc 4.dddd 5.eeee 6.ffff 7.gggg 8.hhhh 各段落の1.を”自動的に番号を振る”を選択すればできると思いますが、数が多いため簡単な方法を探しております。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- Access Union について
下記2テーブルがあります。 テーブル1 品番 1月合計 AAAA 1111 BBBB 2222 CCCC 1122 EEEE 3211 テーブル2 品番 2月合計 AAAA 1211 BBBB 3222 CCCC 1522 DDDD 2223 UNIONのSQL文で下記のような結果を得たいです。 品番 1月合計 2月合計 AAAA 1111 1211 BBBB 2222 3222 CCCC 1122 1522 DDDD 2223 EEEE 3211 SQL文をどのように書いたらいいですか。ご教授,お願い致します。
- 締切済み
- オフィス系ソフト
- エクセルで教えて下さい。
エクセルで教えて下さい。 オートフィルタ、ピボットテーブル以外で関数などで教えて下さい。 A列に大量の文字列があり重複したりしてます。 そこで、 B列にはA列にある大量の文字列を重複なしで表示させたいと思ってます。 例えば A列 B列 AAAA AAAA BBBB BBBB AAAA CCCC CCCC DDDD DDDD EEEE DDDD FFFF EEEE FFFF EEEE AAAA みたいな感じです。A列は編集可能でQQQQを追加すれば自動でB列にも表示させたいです。 このようなことを簡単にできますでしょうか? 宜しくお願いします。
- ベストアンサー
- その他MS Office製品
- SQLでご質問があります
SQL初心者です、、 SQLについてご教授ください。 ※ACCESSですが、他DB用でもこちらで変更します。 以下のデータがあるとして、同じ「コード」が2件以上あるもので 「カラム1」が複数(2種類以上)あるものを抽出したいと考えております。 ※同じ「コード」2件以上→コードが'0001','0003' ※「カラム1」が複数もの→コードが'0003'(bbbb,eeee,ffffの3種類ある) コード,カラム1 0001,aaaa 0001,aaaa 0002,aaaa 0003,bbbb 0003,eeee 0003,ffff の場合ですと結果として以下3レコードを出力したいです。 コード,カラム1 0003,bbbb 0003,eeee 0003,ffff 以上です。よろしくお願いします。
- ベストアンサー
- その他(データベース)
- 優先順位を決めて、そこからランダムに選んでいく方法
MySQLバージョン4.1.16を使用しています。 次のような、priority(1が最も優先順位が高い)を カラムに持つテーブル「users」で、flagが1を条件として priorityが1から順番にランダムに1つだけ選びたいのです。 つまりこの場合、初めは priorityが1の「bbbb」行と「dddd」行からランダムに選ぶのですが、 flagが共に0なので条件に合わないので選ぶことはできません。 次に、priorityが2の「cccc」「eeee」「ffff」行のflagを調べて flagが1の「cccc」「ffff」行の2つからランダムに選ぶことになります。 このようなSQL文はどのような記述になるのでしょうか? テーブル「users」 +----------+---------+---------+ | user_id | priority | flag | +----------+---------+---------+ | aaaa | 3 | 1 | +----------+---------+---------+ | bbbb | 1 | 0 | +----------+---------+---------+ | cccc | 2 | 1 | +----------+---------+---------+ | dddd | 1 | 0 | +----------+---------+---------+ | eeee | 2 | 0 | +----------+---------+---------+ | ffff | 2 | 1 | +----------+---------+---------+
- ベストアンサー
- MySQL
- VBScript(vbs)での行の取得について
あるテキストの中に空行をはさんで文字列がある時に"ABCD"の文字列を含む場合はABCDを含むひとまとまりだけを取得したいのですがその方法について教えてください。 [テキスト] AAAA BBBB CCCC DDDD EEEE ABCD FFFF GGGG HHHH [取得したい部分] DDDD EEEE ABCD FFFF
- 締切済み
- その他(プログラミング・開発)
- Excel チェックボックスのコピー、チェックをONにすると対象セルの文字の色が変わる方法
下記の様にチェックボックス1をONにするとチェックのみ、チェックボックス2をONにすると対象セル(3つのセルAAAA、BBBB、CCCC)の文字の色が変わる様にしたいのですが、どうするのが早く、多く複製出来る方法はありませんか? 個々にチェックボックスを作成して、条件付書式などで作成は可能ですが、下記の様(DDDD、EEEE、FFFF・・・・)に複数作りたいので条件付書式では大変なので何か方法はありませんか。 VBAで作ると楽にいけると思うのですが知識不足で・・・。 ご教授願います。宜しくお願いします。 AAAA BBBB 1□ 2□ CCCC DDDD EEEE 1□ 2□ FFFF ・ ・ 1□ 2□ ・ ・ ・ 1□ 2□ ・
- ベストアンサー
- その他MS Office製品
補足
回答有難うございます。出来ました。嬉しいです。 一応友達の友達の友達のSQLを載せておきます。 SELECT T1.name,T1.friendname,T2.friendname,T3.friendname FROM (friend T1 INNER JOIN friend T2 ON T1.friendname=T2.name ) INNER JOIN friend T3 ON T2.friendname=T3.name order by T1.name,T1.friendname,T2.friendname ; 合ってますでしょうか? 有難うございました。