SQLで合計表示する方法

このQ&Aのポイント
  • SQLを使用して、データベース内の合計と総合計を表示する方法を教えてください。
  • データベース内の各得意先ごとに金額の合計を表示する方法を教えてください。
  • 全得意先の金額の総合計を表示する方法を教えてください。
回答を見る
  • ベストアンサー

SQLで合計表示

SQLで合計・総合計を出してたいのですが、どうしたらいいのですか? 教えてください 下記はこのような感じでデータベースがあった場合です 得意先:T_得意先.得意先番号 得意先名称:T_取引先.得意先名称 T_受注.工場番号 = T_取引先.取引先番号 T_受注.品目番号 T_受注.品目名 T_区分明細.区分明細名 T_受注.受注番号 T_受注.受注日 T_受注.納期 T_受注.受注数 T_受注.単位名 T_受注.単価  T_受注.仮単価区分  T_受注.金額  T_担当者.担当者名 --番号で名称を結合 品目名 = (T_品目.品目番号 = T_受注.品目番号) 単位名 = (T_単位.単位番号 = T_受注.単位番号) 担当者名 = (T_担当者.担当者番号 = T_受注.担当者番号) -------------------- 得意先合計:得意先ごとの「金額」合計 総合計:全得意先の「金額」合計

質問者が選んだベストアンサー

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.2

まず書く前に自分の書いたものを見直すことをお勧めします。 a) >品目名 → T_受注.品目番号 = T_品目.品目番号 と結合 >単位名 → T_単位.単位番号 = T_受注.単位番号 と結合  >で該当であっていました 以下が質問者さんが最初に書かれたレイアウトです。 T_受注.品目番号 T_受注.品目名 T_区分明細.区分明細名 T_受注.受注番号 T_受注.受注日 T_受注.納期 T_受注.受注数 T_受注.単位名 T_受注.単価  T_受注.仮単価区分  T_受注.金額  T_担当者.担当者名 結合条件はさすがに推測できましたが、結合している目的を考えてください。 T_受注.単位名 T_受注.品目名 は本当に合っていますか?合っていれば結合する必要がありませんよね。 b) 以下が質問者さんが最初に書かれた条件です。 得意先:T_得意先.得意先番号 得意先名称:T_取引先.得意先名称 T_受注.工場番号 = T_取引先.取引先番号 >T_取引先.得意先番号 >T_取引先.取引先名称 は T_受注.得意先番号 = T_取引先.得意先番号で >同じ得意先番号で表示させます >取引先番号ではなく得意先番号 >工場番号※ T_取引先参照 取引先名称表示 これが本当だとすると、T_得意先というマスタはなく、T_取引先のレイアウトは T_取引先(取引先番号、得意先番号、取引先名称) で、しかも取引先番号、得意先番号ともに一意制約(=ユニーク制約) がついていることになりますが、それで合っていますか? c) >>羅列してある項目の中に「得意先」に関する情報が一切ないように見えます。 >>それでどうやって「得意先ごとの金額合計」の結果がそれぞれどの得意先のものか判断しますか? この質問の意味が理解されていないようです。 最初に質問者さんの書いた戻り値のレイアウトには、得意先番号も取引先名称も含まれていません。 得意先別合計に表示できるのは、金額だけになってしまいます。 複数の得意先が含まれていた場合には、どの行がどの得意先のものかわからなくなってしまいます。 だから、レイアウトを見直すべきではないですか、と言いたかったのですが。 d) >あとこのデータはVB.NETで工場番号を入力してSQLで呼び出します ここまで書いても使っているデータベースが何かが出てきませんね。 前回書いたサンプルを読み解けず、定義も十分に示せないとすれば、質問者さんが合計や総合計は抜きにして、「今明細が正しく取得できているSQL文」を示していただいた方がよいと思います。

shyadow
質問者

補足

ごめんなさい。 足らなくて a)T_受注.単位名 T_受注.品目名 これは確認しましたが、本当にあっていました 品目名 → T_受注.品目番号 = T_品目.品目番号 と結合 >単位名 → T_単位.単位番号 = T_受注.単位番号 と結合  b)T_得意先というマスタはなく、T_取引先のレイアウトは T_取引先(取引先番号、得意先番号、取引先名称) で、しかも取引先番号、得意先番号ともに一意制約(=ユニーク制約) がついていることになりますが、それで合っていますか? 回答:確認しましたが、合っています <捕捉> ・得意先合計(受注数 * 単価)得意先毎の金額合計 ・総合計(金額)算得意先の金額合計 ・T_M_区分明細区分明細名をT_区分.区分番号を'01'を表示 ・工場番号を貢献する(order by 工場番号) データベース:Microsoft SQL Server Management Studio Express 今、作成中のSQL SELECT T_受注残.得意先番号, T_取引先.得意先番号, T_取引先.取引先略名, T_受注残.品目番号, T_品目.品目名, --T_区分明細.区分明細名, T_受注残.受注番号, T_受注残.受注日, T_受注残.納期, T_受注残.受注数, T_単位.単位名, T_受注残.単価, T_受注残.仮単価区分, T_受注残.金額, T_担当者.担当者名 FROM T_受注残 INNER JOIN T_品目 ON T_品目.品目番号 = T_受注残.品目番号 INNER JOIN T_単位 ON T_単位.単位番号 = T_受注残.単位番号 INNER JOIN T_担当者 ON T_担当者.担当者番号 = T_受注残.売上担当者 INNER JOIN T_取引先 ON T_取引先.得意先番号=T_受注残.得意先番号 UNION ALL SELECT T_取引先.得意先番号, T_取引先.取引先略名, --T_受注残.得意先番号, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, SUM(T_受注残.単価 * T_受注残.受注数) as 得意先合計,NULL FROM T_受注残 INNER JOIN T_取引先 ON T_取引先.得意先番号=T_受注残.得意先番号 GROUP BY T_取引先.得意先番号,T_取引先.取引先略名,T_受注残.得意先番号 UNION ALL SELECT NULL,'総合計', NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, SUM(T_受注残.金額),NULL FROM T_受注残 GROUP BY 工場番号 得意先番号 得意先番号 取引先名称 品目番号 品目名 受注番号 受注日      納期           受注数  単位  単価    仮単価区分 金額    担当者名 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1  1 北海道  K1 机 11 2008-09-03 00:00:00.000 2008-10-06 00:00:00.000 3.000 個 12.000000 00 36.000000000 佐藤 1 1 北海道  K2 いす 12 2008-09-03 00:00:00.000 2008-10-06 00:00:00.000 3.000 個 13.000000 00 39.000000000 佐藤 2 2 沖縄  K3 電車 13 2008-09-03 00:00:00.000 2008-10-06 00:00:00.000 3.000 式 14.000000 00 42.000000000  高橋     得意先合計  75.000000000 総合計    117.000000000

その他の回答 (2)

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.3

a)「・T_M_区分明細区分明細名をT_区分.区分番号を'01'を表示」というのが純粋に日本語として理解できないです。 T_区分.区分番号='01'の場合だけデータを抽出したいのですか? T_区分.区分番号='01'の場合だけT_区分明細.区分明細名を表示したいのですか? それから、T_区分明細、T_区分およびT_受注残のJOINキーをおしえてください。 b)3つのSELECT文は項目の数が同じになるようにNULLの数を調整してください。 (UNION ALLは3つのSELECT文を単につないでいるだけです) c)T_受注残.得意先番号とT_取引先.得意先番号と両方SELECTする必要はありません。両者は必ず同じ値ですから、どちらか1つだけにすべきです。 d)最後のGROUP BY 工場番号は不要です。 e)「工場番号を貢献する(order by 工場番号)」は、前に書かれた「あとこのデータはVB.NETで工場番号を入力してSQLで呼び出します」というのと矛盾しています。 工場番号を指定してSQLを実行するわけですから、工場番号は1つに絞られるのではないですか? (ちなみに) >T_受注.単位名、T_受注.品目名 これは確認しましたが、本当にあっていました。 クエリにはT_受注.単位名、T_受注.品目名ではなく、T_単位.単位名,T_品目.品目名って書いていますよね。 T_受注というテーブルには単位名も品目名も存在しないので、T_受注.単位名、T_受注.品目名という書き方は誤りだということです。クエリの方あっていることが確認できましたから、いいのですが。

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

・基本構文をおさえたあとは、「すべてのDBMSで動くSQL文」という考え方が難しくなってきます。したがって、そのSQLを実行しようとしているデータベースの種類は明記すべきです。 そうでないと、情報処理技術者試験のように標準SQLでサポートされている機能のみしか回答がつけられません。 (ROLLUPなどを使えるケースでもサポートしているDBMSが限られるのでそれを使った回答はできなくなります) ・質問をアップするときに、以下の点に留意ください。 a)書かれている項目のリストがSELECT文の戻り項目なのでしょうが、間違っていませんか?(T_受注.品目名、T_受注.単位名はT_品目.品目名、T_単位.単位名であるべきですよね) b)羅列してある項目の中に「得意先」に関する情報が一切ないように見えます。それでどうやって「得意先ごとの金額合計」の結果がそれぞれどの得意先のものか判断しますか? 上にあるb)のため、明細と合計、総合計を一緒に表示できないので、 項目にはT_取引先.取引先番号,T_取引先.得意先名称も追加し、 明細・得意先別合計・総合計をまとめて表示するためにデータ区分の項目も追加した例を示します。 そのまま使えるとは思いませんが、ポイントは理解できると思います。 SELECT 1 区分, T_取引先.取引先番号, T_取引先.得意先名称, T_受注.品目番号, T_品目.品目名, T_区分明細.区分明細名, T_受注.受注番号, T_受注.受注日, T_受注.納期, T_受注.受注数, T_単位.単位名, T_受注.単価, T_受注.仮単価区分, T_受注.金額, T_担当者.担当者名 FROM T_受注 INNER JOIN T_品目 ON T_品目.品目番号 = T_受注.品目番号 INNER JOIN T_単位 ON T_単位.単位番号 = T_受注.単位番号 INNER JOIN T_担当者 ON T_担当者.担当者番号 = T_受注.担当者番号 INNER JOIN T_取引先 ON T_取引先.取引先番号=T_受注.工場番号 UNION ALL SELECT 2 区分, T_取引先.取引先番号, T_取引先.得意先名称, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, SUM(T_受注.金額),NULL FROM T_受注 INNER JOIN T_取引先 ON T_取引先.取引先番号=T_受注.工場番号 GROUP BY T_取引先.取引先番号,T_取引先.得意先名称 UNION ALL SELECT 3 区分, NULL,'総合計', NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, SUM(T_受注.金額),NULL FROM T_受注 ORDER BY 1

shyadow
質問者

補足

a)書かれている項目のリストがSELECT文の戻り項目なのでしょうが、間違っていませんか?(T_受注.品目名、T_受注.単位名はT_品目.品目名、T_単位.単位名であるべきですよね) これらは調べてみましたが、 品目名 → T_受注.品目番号 = T_品目.品目番号 と結合 単位名 → T_単位.単位番号 = T_受注.単位番号 と結合  データ表示 で該当であっていました b)羅列してある項目の中に「得意先」に関する情報が一切ないように見えます。それでどうやって「得意先ごとの金額合計」の結果がそれぞれどの得意先のものか判断しますか? T_取引先.得意先番号 T_取引先.取引先名称 は T_受注.得意先番号 = T_取引先.得意先番号で同じ得意先番号で表示させます 取引先番号ではなく得意先番号 工場番号※ T_取引先参照 取引先名称表示 なお、かいたリストにT_区分明細.区分明細名はT_区分.区分番号 = '01'で表示します T_受注.工場番号 ,T_取引先.得意先番号で番号が一致するデータを呼びます あとこのデータはVB.NETで工場番号を入力してSQLで呼び出します 記入漏れがあったのですみませんが、またよろしくお願いします 作成していただいたSQLは参考にしてやってみましたが、思うようにいきません なにぶんSQL初心者なんで、すみませんが、お願いします

関連するQ&A

  • SQLで追加処理

    sqlで受注日を丁度ここでかかれている and 受注残.受注日 between '2008/08/29' and '2008/09/01' を別々に出したいのですが。 このように分けて追加したいんでですが、思うようにいかない 教えてください  下記のSQLは今作成中のものです。 お願いします 端末番号 受注番号 セット品受注番号 ・・・・・・受注日 受注日1 ----------------------------------------------------------------------------- 1 2312312 NULL 2008/08/29 2008/09/01 1 3423343 NULL 2008/08/29 2008/09/01 1 5435443 NULL 2008/08/29 2008/09/01 1 5435435 NULL 2008/08/29 2008/09/01 1 5435435 NULL 2008/08/29 2008/09/01 1 5453454 NULL 2008/08/29 2008/09/01 insert into 受注月報( 端末番号,受注番号, セット品受注番号,受注伝票区分, 得意先番号,納入先番号,受注日, 最終出荷日,品目番号, 品目名,形式,品目分類,注文番号,製番, 品目区分,売上担当者,出荷予定日, 出荷予定変更前日, 納期,受注数,単価単位, 単位番号,単位名,引当数, 単価,仮単価区分,金額,特記事項1, 特記事項2,出荷数, 完納区分,計画必要数, 計画立案済数,生産計画日, 地区番号,県番号,製造日程有無区分, 照会項目,登録日,更新日,消費税率, 通貨,通貨名,他社品番, 工場番号,引当在庫場所,納入先名, 郵便番号,住所1,住所2, 相手先担当者,電話番号,FAX番号, 輸送LT,図番,運送店, 相手販売店,得意先担当者名, 納入先担当者名,原価, 原価仮単価,営業価格, 営業価格仮単価,取引先略名,担当者番号, 担当者名,区分明細名, 区分明細名1,区分明細名2,取引先略名1,取引先名称) select '1', 受注残.*, 取引先.取引先略名, 担当者.担当者番号, 担当者.担当者名, 区分明細.区分明細名, 区分明細1.区分明細名, 区分明細2.区分明細名, 取引先1.取引先略名 as 取引先略名1, 取引先2.取引先名称 as 取引先名称 from 受注残 LEFT JOIN 取引先 on 受注残.得意先番号 = 取引先.取引先番号 LEFT JOIN 担当者 on 受注残.売上担当者 = 担当者.担当者番号 LEFT JOIN 区分明細 On ( 受注残 .受注伝票区分 = 区分明細.区分明細番号) LEFT JOIN 区分明細 as 区分明細1 On (受注残.仮単価区分 = 区分明細1.区分明細番号) LEFT JOIN 区分明細 as 区分明細2 On (受注残.完納区分 = 区分明細2.区分明細番号) LEFT JOIN 取引先 as 取引先1 on (受注残.得意先番号 = 取引先.取引先番号 ) LEFT JOIN 取引先 as 取引先2 on (受注残.得意先番号 = 取引先.取引先番号 ) where ('00001' = '99999' OR ('00001' <> '99999' AND 受注残.工場番号 = '00001')) and 受注残.受注日 between '2008/08/29' and '2008/09/01' AND (区分明細.区分番号 = '01' Or 区分明細.区分番号 Is Null) AND (区分明細1.区分番号 = '40' Or 区分明細1.区分番号 Is Null) AND (区分明細2.区分番号 = '10' Or 区分明細.区分番号 Is Null) AND 取引先1.取引先番号 = '00001' AND 取引先2.取引先番号 = '00001' AND 取引先.得意先番号 = '12' --出力順 order by 受注残.工場番号, 受注残.得意先番号, 受注残.品目番号, 受注残.受注日, 受注残.受注番号

  • 日付範囲の取得     早めにお願い!

    データを取得したいです SQLで2004/10/01と2004/10/11が入力されてないときに 選択したデータが取れるようにしたいんですがどうしたらいいですか。 丁度WHERE分のところですが SQL Server Management Studio Express使用 select '1' as 端末番号, 受注残.*, 取引先.取引先略名, 担当者.担当者番号, 担当者.担当者名, 区分明細.区分明細名, 区分明細1.区分明細名, 区分明細2.区分明細名, 取引先1.取引先略名 as 取引先略名1, 受注残.品目分類, 名称.名称名, '2', '3' from 受注残 LEFT JOIN 取引先 on 受注残.得意先番号 = 取引先.取引先番号 LEFT JOIN 担当者 on 受注残.売上担当者 = 担当者.担当者番号 LEFT JOIN 区分明細 On ( 受注残 .受注伝票区分 = 区分明細.区分明細番号) LEFT JOIN 区分明細 as 区分明細1 On (受注残.仮単価区分 = 区分明細1.区分明細番号) LEFT JOIN 区分明細 as 区分明細2 On (受注残.完納区分 = 区分明細2.区分明細番号) LEFT JOIN 取引先 as 取引先1 on (受注残.得意先番号 = 取引先.取引先番号 ) left join 名称 on 受注残.品目分類 = 名称.名称番号 where ('00001' = '99999' OR ('00001' <> '99999' AND 受注残.工場番号 = '00001')) AND 受注残.受注日 >= '2004/10/01' AND 受注残.受注日 <= '2004/10/11' AND 受注残.受注日 between '2004/10/01' and '2004/10/11' AND (区分明細.区分番号 = '01' Or 区分明細.区分番号 Is Null) AND (区分明細1.区分番号 = '40' Or 区分明細1.区分番号 Is Null) AND (区分明細2.区分番号 = '10' Or 区分明細.区分番号 Is Null) AND 取引先1.取引先番号 = '00001' AND 受注残.得意先番号 = '143500-03' and 名称.区分番号 like '%65%' and 名称.名称番号 like '%'+'0010'+'%' order by 受注残.工場番号, 受注残.受注日, 受注残.品目番号

  • Accessのグループ化合計

    VB→ストアド→Accessでデータ表示 Accessのレポートで質問です テーブルはリンク ------------------------------------------------------ Accessのレポートには単価と数量という項目があります それをグループ化します グループ化で得意先という項目の合計をもとめます 単価:テキスト型 数量:テキスト型 区分番号:数値 区分番号が1のとき単価を-(マイナス)で表示する 得意先合計と総合計の計算のときマイナスも含まれて計算されるので エラーになる 抽出条件が一致しませんと出る エラーが出ずに計算するにはどうしたらいいですか またグループかで計算するときにマイナスの項目ははずして合計を出したい これってVBA使わないと出来ないんですか? 使うならどうしたら出来ますか? [レポートフッター] ------------------------------------------- [ページフッター] ------------------------------------------- [得意先番号ヘッダー] ------------------------------------------- [詳細] 単価 数量  区分番号 ------------------------------------------- [得意先番号フッター] ------------------------------------------- 得意先合計 (=sum(単価 * 数量)) [ページフッター] ------------------------------------------ [レポートフッター] 総合計 (=sum(単価 * 数量)) -------------------------------------------

  • IIF関数の中に合計値*をいれるには

    テーブル 単位 区分 p   2 t   1 個   2 .   . .   . クエリに結線を加え、 区分が2だったら[員数]*[売単価]それ以外だったら[重量]*[売単価]としたい場合 合計:IIF("[単位テーブル]![区分]=1","[重量]*[売単価]","[員数]*[売単価]") としたのですが合計に反映されません。 クエリ員数に5、重量にも0.5と入るので、単位をtと選んだ場合は重量と単価をかけたい。単位を個としたばあいには員数かける単価としたい場合はどうしたらよいでしょうか?

  • データベースの正規化について質問です><

    データベースの正規化について質問です><教えて下さい。 伝票を正規化していく問題なのですが、 受注番号 受注日 得意先コード 得意先名 得意先住所 {商品コード 商品名 販売単価 受注数量 受注金額} {}は繰り返しを表します。 これをまず自分で第一正規化してみて//*は主キーを表す。 *受注番号 受注日 得意先コード 得意先名 得意先住所 *商品コード 商品名 販売単価 受注数量 受注金額 になり次に第二正規化してみて *受注番号 受注日 得意先コード 得意先名 得意先住所 *商品コード 商品名 販売単価 *受注番号 *商品コード 受注数量 受注金額 になり最後に第三正規化をして *受注番号 受注日 得意先コード *得意先コード 得意先名 得意先住所 *商品コード 商品名 *商品名 販売単価 //ココです。 *受注番号 *商品コード 受注数量 受注金額 となったのですが模範解答には//ココです。の部分がなく、*商品コード 商品名 販売単価 これのままで終わっていました。 自分が間違えているのでしょうか??もし間違えているなら理由を教えて下さい。長くてすいません

  • SQL文を教えて下さい

    VB2008、SQL Server で開発をしています。 下記の条件でデータを取得したいのですが、SQL文がうまくできず、困っています。 おわかりの方、教えてください。 仕様:得意先マスタ(得意先M)の全件と、売上テーブル(売上T)を読みます。     売上テーブルの商品コードの商品名を商品マスタ(商品M)より取得します。     得意先マスタの全得意先を取得する必要があります。     すべての得意先の売上データが存在するわけではありません。 ACCESS上でクエリを作成し、SQLビューにすると、こうなります。 inptSyoCD:画面から入力した商品コード 1,まず、クエリ1: SELECT 売上T.伝票日付, 売上T.伝票番号, 売上T.得意先コード, 売上T.明細区分, 売上T.商品コード, 商品M.商品名称 FROM 売上T LEFT JOIN 商品M 売上T.商品コード = 商品M.商品名 WHERE 売上T.明細区分=1 AND 売上T.商品コード= inptSyoCD ; 2,次に、実際に処理するSQL文: SELECT 得意先M.得意先コード, 得意先M.得意先名称,       クエリ1.伝票日付, クエリ1.伝票番号, クエリ1.明細区分, クエリ1.商品コード, クエリ1.商品名  FROM 得意先M LEFT JOIN クエリ1 ON 得意先M.得意先コード = クエリ1.得意先コード ORDER BY 得意先M.得意先コード,売上T.伝票日付,売上T.商品コード; この2つをひとつのSQL文にする方法がわかりません。 よろしくお願いいたします。

  • [Excel ADO]合計額の挿入は可能ですか?

    Excel2007のADOを使ってCSVファイルのデータを集計する方法を習得中です ある業務アプリからエクスポートしたデータなのですが、 売上伝票データ: 伝票日付、伝票番号、取引先名、明細番号、商品名、数量、単価、金額、取引区分、納入先コード 納入先コードテーブル: 納入先コード、納入先名 取引区分が0なら売上、1なら入金(入金伝票の場合納入先コードがNULL) これを集計して売上明細表をつくるとして、 伝票毎に伝票合計額、および納入先名を挿入するようなことが SQL文だけで可能でしょうか?

  • ACCESS2000 合計の表示がおかしい

    毎日の売上と仕入れの金額をそれぞれ合計して出したいのですが、 サンプル仕入れなどで0円の売上がある日の合計が正しく表示されず、 例えば0円の売上が4つと100円の売上が1つの場合、 400円と表示されます。 仕入れに関しても同様です。 どうすれば正しく表示されるようになるのか教えてください。 以下はソースです。 SELECT T受注伝票.受注日 , Sum(T受注伝票.税込金額計) AS 合計 , T発注伝票.発注日 , Sum(T発注伝票.税込金額計) AS 合計1 FROM T受注伝票 INNER JOIN T発注伝票 ON T受注伝票.受注日 = T発注伝票.発注日 GROUP BY T受注伝票.受注日 , T発注伝票.発注日 HAVING   ((T受注伝票.受注日) Between [FROM] And [TO]) AND   ((T発注伝票.発注日) Between [FROM] And [TO])) ORDER BY    T受注伝票.受注日    , T発注伝票.発注日;

  • SQL文でのDISTINCT

    皆さん、はじめまして。 表題の件について、お分かりの方教えて下さい。 まず、テーブルですが テーブル名:table1 得意先CD 得意先名 受注番号 枝番 受注金額 custcd   custnm  jychuno  edano  amount -------------------------------------------- 000001   AAAAAAA 0000001  01   111111 000001   AAAAAAA 0000001  02   222222 000001   AAAAAAA 0000002  01   333333 000002   BBBBBBB 0000001  01   444444 のような、取引明細テーブルがあったとします。 ご覧頂いてお分かりの通り、得意先CD毎に受注番号が振られていて さらに枝番で管理されています。 (枝番が全て01から始まれば、それだけ選べば良いんですが・・・) この時、同一得意先で受注番号が重複するデータは省きたいのですが どうDISTINCTを入れれば良いのか分かりません。 上記例では、2行目だけを省きたいのです。 SELECT custcd , custnm , DISTINCT juchuno , edano , amount FROM table1 ORDERBY custcd , custnm , jychuno , edano; とするとエラーになります(当然)。 このような時って、どうすれば良いのでしょうか? 最近使い始めた素人ですので、宜しくお願い致します。

  • リレーショナルデータベースについて(情報処理試験用)

    現在情報処理の勉強をしているのですが、 データベースが苦手でどうしても理解できないことがあります。 いくつかの項目を表にする際,区分の仕方がわからず,SQLがつくれません。 1. ・学籍番号 ・氏名 ・住所 ・専攻 ・科目番号 ・科目名 ・単位数 ・成績 これは,全ての項目を学生表,科目表,履修表の3つに分ける例です。 この場合, 学生表(★学籍番号,氏名,専攻) 科目表(★科目番号,科目名,単位数) 履修表(★学籍番号,★科目番号,成績) 以上のように分けられるというのは,学生なので理解できます。 そして次の問題なのですが, 2. ・品目番号 ・品目名 ・在庫量 ・受注番号 ・顧客名 ・受注日 ・受注残 ・納期 これらの項目を「品目表」,「受注表」,「受注明細表」の3つに分ける問題です。この場合どのように区分したらよいでしょうか。 また,区分する際のポイントも教えていただければ嬉しいです。