• ベストアンサー

SQL文がうまく作れなくて困っています。

tasokarewaの回答

  • ベストアンサー
回答No.4

Accessは長い間、触ってませんが、 SELECT B.社員名, C.社員名 FROM (あるテーブル AS A LEFT JOIN 社員テーブル AS B ON A.社員ID = B.ID) LEFT JOIN 社員テーブル AS C ON A.業務ID = C.ID ではないですか?

searching
質問者

お礼

tasokarewa様 回答ありがとうございます。 tasokarewa様の回答を参考にさせていただき無事解決いたしました。 ありがとうございました。

関連するQ&A

  • SQL文のエラー

    SQL文でエラーが表示されます。どの部分を修正すればいいですか? SQL文が長いので文字列を結合する演算子「.」を使って複数行に分けています。 エラー内容:SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= ? and product_id = product.id' at line 2 //商品番号だけでなく、商品名や価格も表示したいので商品情報を保持するproductテーブルと 結合する。 //全て取得するのでSELECTは* //favoriteテーブルにはcustomer_idとproduct_id //productテーブルにはid, name, price $sql = 'SELECT * FROM favorite, product' . 'WHERE customer_id = ? and product_id = product.id '; // ?に顧客番号を指定する。 // favoriteテーブルの商品番号(product_id列)と、productテーブルの商品番号(id列)が // 一致している行だけが必要なので、WHERE句に条件を追加する。

  • SQLで可能かどうかお教えください

    お疲れ様です。毎回困った時にはこのコミュニティを参考にしているものです。下記のような事ができるかご存知であれば教えて頂けると助かります。 **質問** 以下のテーブルがあります ID || BOX_ORDER ||  INSIDE_ORDER||  DISP_NAME 001 ||  1      ||    1     || 表示名1-1-1 001 ||  1      ||    2     || 表示名1-1-2 001 ||  2      ||    1     || 表示名1-2-1 002 ||  1      ||    1     || 表示名2-1-1 003 ||  3      ||    1     || 表示名3 上記テーブルをSQLを使用し以下のように取得するのは可能でしょうか? (希望実行結果) ID || BOX_ORDER1 || BOX_ORDER2 ||BOX_ORDER3 001 || 表示名1-1-1 <br> ||表示名1-2-1|| || 表示名1-1-2 || || 002 || 表示名2-1-1 || || 003 || || ||表示名3 ポイント ・ID及びBOX_ORDERが一致するデータはIDの行のBOX_ORDER1~BOX_ORDER3の各列に表示名を格納。BOX_ORDERが同一のものが複数件ある場合は<br>(文字列)を結合して同列に格納する。 ・BOX_ORDER1~BOX_ORDER3は固定 煩雑に書いて分かりにくいかもわかりませんが、御助力頂けたら助かります。よろしくお願い致します。

  • SQL文を教えてください。

    社員テーブルと障害テーブルA、Bがあります。 社員テーブル(社員ID、発見者名、・・・etc) 障害テーブルA(障害番号、発生日、・・・etc) 障害テーブルB(事象、ステータス、対応内容、・・・etc) 社員ID、障害番号、事象、ステータスのSELECT結果を 一つのcsvファイルとして取得するプログラムを作成したいのです。 「複数のテーブルから」「任意の」列を指定して、 検索結果を「csvに出力」する方法がどうしても分かりません。 どのようなSQLになるでしょうか? うまく伝わっているでしょうか? よろしくお願いします。

  • SQL文を教えてください。

    社員テーブルと障害テーブルA、Bがあります。 社員テーブル(社員ID、発見者名、・・・etc) 障害テーブルA(障害番号、発生日、・・・etc) 障害テーブルB(事象、ステータス、対応内容、・・・etc) 社員ID、障害番号、事象、ステータスのSELECT結果を 一つのcsvファイルとして取得するプログラムを作成したいのです。 「複数のテーブルから」「任意の」列を指定して、 検索結果を「csvに出力」する方法がどうしても分かりません。 どのようなSQLになるでしょうか? うまく伝わっているでしょうか? よろしくお願いします。

  • ASP + SQLにて

    お世話になっております。 このたびASPを使用し、SQL Serverへデータをいれ管理プログラムを作成しているのですが、一部データの取り出しがわからないのでご質問させていただきます。 SQL文を発行する際に、 strSQL = "select * from table1 left join table2 on table1.社員ID = table2.ID order by table1.ID desc" としております。 構造として table1にはID,日付,内容,社員IDがありまして table2にはID,社員名があります。 上記のSQL文を実行し、 <% response.write objRS("社員名") %> として社員名を出力しているのですが、 そのときtable1のIDを出力しようとして <% response.write objRS("ID") %> としたらtable2のIDが出力されてしまいました。 table1のIDを出力する方法はないのでしょうか? よろしくお願いいたします。

  • こんなSQL文はありませんか?

    環境:Access97 例えば以下のような社員名テーブルがあったします。 部署名|氏名 --------------- 経理部|田尾 --------------- 経理部|平野 --------------- 経理部|モッカ --------------- 営業 |谷沢 --------------- 総務部|大島 --------------- 総務部|上川 --------------- このテーブルを部署ごとにグループ分けして 以下のような形式で氏名を抽出したいのですが、 このようなことができるSQL文はありますでしょうか。 部署名|氏名1|氏名2|氏名3|・・|氏名n ---------------------------------------- 経理部|田尾 |平野 |モッカ ---------------------------------------- 営業 |谷沢 ---------------------------------------- 総務部|大島 |上川 宜しくお願いいたします。

  • (初歩的なSQL文?)あるテーブルだけは行列を入れ替えたい

    MySQL4.0.17 次の(1)(2)のようなマスターとテーブルを、社員IDをキーに結合し、 (3)のように1行=1社員のフォーマットで出力するSQL文を教えてください。 (3)のようにするには、(2)を(社員ID別に)行と列を入れ替えなければなりませんよね? SELECT 社員ID.社員マスター, 名前.社員マスター, 性別.社員マスター, 社員ID.出席テーブル ??ここに何か挿入??? FROM 社員マスター, 出席テーブル WHERE 社員ID.社員マスター = 社員ID.出席テーブル (1) 社員マスター ----------------- 社員ID 名前 性別 ----------------- 1     鈴木  1 2     佐藤  1 3     山本  2 ----------------- (2) 出席テーブル ---------------------- 社員ID 年月  出席日数 ---------------------- 1   200601    3 1   200602    4 1   200603    5 2   200601    10 2   200602    11 2   200603    12 3   200601    7 3   200602    8 3   200603    9 ---------------------- 出力したいフォーマット --------------------------------------------------------------- 名前ID 名前 性別 出席日数200601 出席日数200602 出席日数200603 --------------------------------------------------------------- 1    鈴木  1    3         4          5 2    佐藤  1   10         11         12 3    山本  2    7         8          9 --------------------------------------------------------------- よろしくお願い致します。

    • ベストアンサー
    • MySQL
  • たすけて~!はやく~!SQL文がわからないの~!

    どなたか教えて下さいませ。 VBでoracleからデータを取ってくるところで、select文の書き方が分かりません。社員名簿テーブルから社員No.と社員名と先輩No.と先輩名を取ってくる場合です。先輩名は社員名簿の”先輩”の社員No.と先輩No.を関連付け(=)し、”先輩の”社員名を取ってきたいのです。 例)社員No. 社員名  先輩No. 先輩名   3   山田太郎 1   山田ごん太   7   山田花子 3   山田太郎 つまり、山田太郎は山田花子の先輩であることがわかります。 この表を作るために同じテーブルで関連付けをしてデータを取得したいのです。SQL文でお願いします。 たすけて~!

  • sql文

    現在試合結果のSQL文を作っています。 テーブルは下記内容になっており、今までは個々のテーブルに試合日程IDを渡して表示させていました。 今までは ("select from 試合日程テーブル") ("select from 試合結果テーブル where 試合日程ID = 試合日程id") ("select from 試合味方得点者テーブル where 試合日程ID = 試合日程id") ("select from 試合相手得点者テーブル where 試合日程ID = 試合日程id") 現在はもっと簡単にできるのではないかと思い作り直そうと思っています。 試合日程テーブル | id | 相手 | | 0001 | 相手A | | 0002 | 相手B | | 0003 | 相手C | 試合結果テーブル | id | 試合日程ID | 得点 | 失点 | | 1 | 0001 | 6 | 0 | | 2 | 0002 | 4 | 4 | | 3 | 0003 | 0 | 5 | 味方得点者 | id | 試合日程ID | 得点者 | | 1 | 0001 | Aさん | | 2 | 0001 | Aさん | | 3 | 0001 | Bさん | | 4 | 0001 | Cさん | | 5 | 0001 | Dさん | | 6 | 0001 | Dさん | | 7 | 0002 | Aさん | | 8 | 0002 | Bさん | | 9 | 0002 | Cさん | | 10 | 0002 | Dさん | 相手得点者 | id | 試合日程ID | 得点者 | 1 | 0002 | 相手Aさん | | 2 | 0002 | 相手Bさん | | 3 | 0002 | 相手Cさん | | 4 | 0002 | 相手Cさん | | 5 | 0003 | 相手Aさん | | 6 | 0003 | 相手Aさん | | 7 | 0003 | 相手Aさん | | 8 | 0003 | 相手Cさん | | 9 | 0003 | 相手Cさん | ここで各試合結果を出したときに相手得点者、味方得点者をidごとに出す方法を教えていただけないでしょうか? 試してみたところ ("select from 試合日程テーブル") ("select from 試合結果テーブル) ( left join 試合味方得点者テーブル on 試合結果テーブル.試合日程ID = 試合味方得点者テーブル.試合日程id") ( left join 試合相手得点者テーブル on 試合結果テーブル.試合日程ID = 試合相手得点者テーブル.試合日程id") (where 試合結果テーブル.試合日程ID = 試合日程id) で試してみましたがうまくきませんでした。 上記のテーブルの内容で1試合に対し、得点者がちゃんと表示されるようにしたいです。 例:試合日程IDが0001の場合は味方得点者が6人分表示され、00002の場合は味方得点者が4人分と相手得点者が4人分表示されるように。 わかりにくい説明ではあると思いますが、宜しくお願いいたします。 足りない部分を指摘いただけると幸いです。

    • 締切済み
    • PHP
  • SQLの書き方

    はじめまして SQL Serverを使用していますが、下記のSQLの書き方がわかりません。 申し訳けありませんが、わかる方がいらっしゃいましたら、どなたか教えて下さい。 ◆質問 テーブル1とテーブル2の下記のKEYで結合させて、取り出した結果でテーブル3を更新したいです。 テーブル2はデータが複数件一致してしまうため、無条件に先頭の1レコードだけを取り出したいです。 取得できたテーブル2のid_1とid_2とid_3をテーブル3に書き出したいです。 ○KEY テーブル1.test = テーブル2.test and テーブル1.test1 = テーブル2.test1 テーブル1.id_2 = テーブル3.id_1 and テーブル1.id_3 = テーブル3.id_2 ○テーブル1 id_1   id_2   id_3   test   test1 bbb   000001   001   000001  100 bbb   000002   001   000002  100 ○テーブル2 id_1   id_2   id_3   test   test1 aaa    1    99    000001   100 ← このレコードを取り出したい aaa    2    99    000001   100 aaa    3    99    000003   100 aaa    4    99    000004   110 ○テーブル3 id_1   id_2   id_3 000001  001  aaa-1-99   ←id_3にテーブル2で取得できたid1 + id2 + id3を書き出したい 000002  001 夜遅くにすみませんがお願いします。