• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:sql文の書き方について)

SQL文の書き方について

maiko0318の回答

  • maiko0318
  • ベストアンサー率21% (1483/6970)
回答No.1

このsqlの質問は多数寄せられますが、 答えをコピーするだけでは進歩しませんよ。 sqlの動作を勉強したらできるできないを含め、 応用も効くと思うのですが?

関連するQ&A

  • SQL文について

    商品表と注文表から、注文のある商品名を知るためのSQL文で、適切なものはどれか。 商品表(商品番号,商品名,単価) 注文表(注文番号,商品番号,注文数) 答えはこれ↓なんですが、なぜなのか分かりません。 SELECT 商品番号,商品名 FROM 商品表        WHERE EXISTS (SELECT * FROM 注文表 WHERE 商品番号 = 商品表.商品番号)

  • 【Access】SQL文教えてください!

    基本的な質問かもしれませんが・・・ テーブル名:test フィールド名:aa,bb,cc,dd,ee,ff (すべて数値型) aa~ccの合計からdd~ffの合計までの間を抽出したいのです。 どう書けばいいんでしょう?

  • SQL文で表すには

    以下の表を用いてSQL文を作成しようと思ってるんですが、途中までしか思いつかないので、どなたかご教授のほうよろしくお願いします。 shohin shiire 商品番号 商品名 単価   仕入番号 仕入先名  0001 みかん 100     001  A 0002 りんご 200     002 B 0003 ぶどう 300     003   C tran 購入番号 商品番号 仕入番号 数量 1 0001 001 1 2 0001 002 2 3 0001 003 3 4 0001 001 4 5 0001 002 5 6 0002 003 6 7 0002 001 7 8 0002 002 8 9 0003 003 9 10 0003 001 10 11 null 0004 20 これを以下のように出力するためにはどのようなSQL文を書けばよいですか? 商品番号 商品名 仕入番号 仕入先名 数量 単価 金額  0001 みかん 001    A   5 100 500  0001 みかん 002    B   7 100 700  0001 みかん 003    C   3 100 300  0002 りんご 001    A   7 200 1400  0002 りんご 002    B   8 200 1600  0002 りんご 003    C   6 200 1200  0003 ぶどう 001    A   10 300 3000  0003 ぶどう 003    B   9 300 2700  0004 null 004   null   20 null null ここまでは正しいと思うのですが・・・ select shohin.商品番号, shohin.商品名, shiire.仕入番号,     tran.数量, shohin.単価, tran.数量 * shohin.単価 as 金額 よろしくお願いします。

  • SQL構文を手助けしてください

    (1)のようなテーブルデータを(2)のように表示したいと思います。 AA,BB,CC,DD,EEは列名としてください。 (1) AA BB CC DD EE __________________________ 00 01 2004/01/01 XX YY 01 00 2004/01/01 XE YD 01 00 2004/01/05 XZ YZ 02 01 2004/01/10 X2 YE 02 02 2004/01/05 XW YI 02 02 2004/01/06 XF YL (2) AA BB CC DD EE __________________________ 00 01 2004/01/01 XX YY 01 00 2004/01/05 XZ YZ 02 01 2004/01/10 X2 YE 02 02 2004/01/06 XF YL <条件> AAとBBでキーを作り、CCのMAXの該当レコードを表示したい。 SELECT AA,BB,MAX(CC),DD,EE FROM TEST_TABLE GROUP BY AA,BB というような感じかなと思ったのですが、「GROUP BY の式ではありません」と怒られてしまいます。 どなたか簡単なやり方をご存知で無いでしょうか?

  • SQL文について

    つい最近SQL文を勉強し始めたのですが、わからないことがあるので質問します。 関係 発注表 商品番号 業者番号 数量 1122 2323 1 1124 2323 2 1123 2000 1 関係  商品表 商品番号 単価 1122   400 1124   600 という様な関係が存在した時、発注した合計金額が1000円を越えた業者のみを抜き出したい時はどのようなSQL文をかけばいいのでしょうか? いまいち分からないので是非解答お願いします。

  • 検索SQLについて

    SQL初心者です。 SQL文1つで以下のようなことをしたいんですが いい方法が思いつかなくて大変困ってします。 いい方法がありましたら教えてください。 以下のようなデータがあるとして 電話番号、商品名 、日付 、数量 00000001、商品AAA、2004/10/10、1 00000001、商品AAA、2004/10/10、2 00000001、商品BBB、2004/10/10、1 00000002、商品AAA、2004/10/09、2 00000002、商品AAA、2004/10/10、1 00000003、商品AAA、2004/10/10、1 00000003、商品AAA、2004/10/10、1 電話番号と商品名が同じ場合は (1)日付(降順) (2)数量(昇順) の順に比較して1つだけに絞って取得したい 「取得結果」 電話番号、商品名 、日付 、数量 00000001、商品AAA、2004/10/10、1 00000001、商品BBB、2004/10/10、1 00000002、商品AAA、2004/10/09、2 00000003、商品AAA、2004/10/10、1 よろしくお願いします。

  • SQL文がかけません

    次のようなテーブルが有ります client_code , client_name, closed_day , receipt(入金額) ,sales(今月請求額) ,collection_date入金予定月 1 , aaa  , 201804 , 10000 , 30000 , 201806 1 , aaa  , 201805 , 20000 , 40000 , 201807 1 , aaa  , 201806 , 30000 , 50000 , 201808 2 , bbb  , 201804 , 40000 , 50000 , 201805 2 , bbb  , 201805 , 50000 , 60000 , 201806 2 , bbb  , 201806 , 60000 , 70000 , 201807 3 , ccc  , 201804 , 70000 , 30000 , 201807 3 , ccc  , 201805 , 80000 , 40000 , 201808 3 , ccc  , 201806 , 90000 , 50000 , 201809 ・ ・ ・ ここから下のような表を作りたいと思っています。 6月入金管理表 会社コード , 入金予定額 , 売上月 , 実績入金額 1 , aaa , 30000  , 201804 , 30000 2 , bbb , 60000 , 201805 , 60000 3 , ・ ・ こんな感じで各月での入金予定額(aaaの場合2ヶ月前の請求額、bbbは1ヶ月前) と、実際の入金額を比較したいと思っています。 しかし、SQL文がまったくわかりません。 SELECT 文中にCASE WHENを使って頑張ってみたんですが 1 , aaa , 30000  , 201804 ,  0 1 , aaa ,  0   , 201806 , 30000 のように、2行に分かれてしまいます。 現在のSQL文は汚いですが以下の感じです。 SELECT client_code , client_name , closed_day, CASE WHEN collection_date ='2018/06' THEN sales ELSE 0 end as '入金予定額' , CASE WHEN closed_day ='2018/06' THEN receipt ELSE 0 end as '入金額' FROM Data WHERE closed_day ='2018/06' OR collection_date ='2018/06' GROUP BY client_code , client_name ,closed_day , collection_date ,sales ,receipt ORDER BY client_code どなたかお助けください

  • 条件に一致したデータ数について

    該当する商品の合計数を所得したいのですが検出方法が分かりませんので教えて下さい。 商品マスタ(A)と売上げデータ(B)に下記のデータがあります。AとBの関係は、1:nになります。 Bの商品とAの商品が一致した場合にAの商品が売れたと判断します。 最終的にAの一致した商品数を取得したいのですが、Bの検出数が反映されてしまい正常に一致した件数を取得できません。いろいろ試みましたけどダメでした。どなたか、ご享受下さい。 ---------------- 商品マスタ(A) ---------------- AA BB CC DD EE FF ---------------- 売上げデータ(B) ---------------- AA 06/9/10 BB 06/9/10 BB 06/9/11 DD 06/9/12 AA 06/9/14 BB 06/9/14 AA 06/9/15 AA 06/9/16 BB 06/9/17 BB 06/9/17 BB 06/9/18 ---------------- 結果 ---------------- 3 ※--- 補 足 --- Bを商品毎にグループ化してカウントすると、 AA = 4件 BB = 6件 CC = 0件 DD = 1件 EE = 0件 FF = 0件 になります。売上げ件数が、0件以上の商品は、AA、BB、DDの3商品になります。この3の値を取得したい訳です。

  • SQLを教えてください。

    以下に5つのテーブルがあるとします。 (1)全体テーブル  ・登録順番号(Key)  ・登録名 (2)商品テーブル  ・項目コード(Key)  ・品名コード(Key)  ・商品登録順番号(Key)  ・商品サイズ(Key)  ・品名 (3)商品単価テーブル  ・項目コード(Key)  ・品名コード(Key)  ・商品登録順番号(Key)  ・商品サイズ(Key)  ・登録順番号(Key)  ・商品単価 (4)新_商品単価テーブル  ・項目コード(Key)  ・品名コード(Key(Key))  ・商品登録順番号  ・商品サイズ(Key)  ・登録順番号(Key)  ・新_商品単価 (5)詳細テーブル  ・登録順番号(Key)  ・品名コード(Key)  ・原価項目コード(Key)  ・商品数量A  ・商品数量B 上記のテーブルから、以下の条件に合致する「(1)の登録名」「(2)の品名」「(4)の新_商品単価×(5)の商品数量※」を取得したい。 ※商品数量Bに値があれば商品数量Bを、値がなければ商品数量A 【条件1】全てAND条件 新_商品単価テーブルの項目コードが100  新_商品単価テーブルの品名コードが50 新_商品単価テーブルの新_商品単価×詳細テーブルの商品数量※<0 商品単価テーブルの商品単価×詳細テーブルの商品数量※>0 ※商品数量Bに値があれば商品数量Bを、値がなければ商品数量A 上記で抽出出来るレコードに加えて、以下 【条件2】全てAND条件 新_商品単価テーブルの項目コードが200~300あるいは400~500 新_商品単価テーブルの新_商品単価×詳細テーブルの商品数量※=0 商品単価テーブルの商品単価×詳細テーブルの商品数量※>0 ※商品数量Bに値があれば商品数量Bを、値がなければ商品数量A どのようなSQLで抽出できますでしょうか?? DBはAccessです。

  • エクセルで複数列を二列にまとめる

    エクセルのデータ成形に、知恵を貸していただけますでしょうか・・・ エクセルで以下のようなデータがあります(例では8行8列) コードは本当はランダムです。 #と右下の部分は空白セルです。横には数字、コード、数字、コードの並びで、数字は一行目のみです。 1 aa-1 2 bb-1 3 cc-1 4 dd-1 # aa-2 # bb-2 # cc-2 # dd-2 # aa-3 # bb-3 # cc-3 # aa-4 # bb-4 # aa-5 # bb-5 # aa-6 # aa-7 # aa-8 これらを 1 aa-1 1 aa-2 1 aa-3 . . 2 bb-1 2 bb-2 . . 4 dd-2 というように 1. 複数の列を2列ずつのグループで2列にまとめ 2. それぞれのグループごとに各コードの左のセルにグループの数字をつけたい   (どのコード(aa-1など)がどの数字グループなのか分かるように) と思っています。 なにかいい方法はありますでしょうか。 調べてはみたのですが、 複数列を一列ではなく、二列ずつまとめていることや、 各列の長さが一様ではないことなどから 各所で紹介されている方法が適用できないでおります。 VBAもほとんど使ったことがないので、それらを応用できません。 どうぞ知恵を貸していただけたらと思います。 よろしくお願い致します。