- ベストアンサー
SQL文で2つのSELCT文の結果を繋げる方法
todo36の回答
FULL OUTER JOIN
関連するQ&A
- 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文にする方法がわかりません。 よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- [AC2k]レポートの詳細が逆に。。。
Access2000のレポートについて、教えてください。 ---- フォーム:F_売上伝票,F_売上伝票明細 (伝票番号をキーにしてサブフォームにしています。) テーブル:T_売上伝票,T_売上伝票明細 クエリー:Q_売上伝票出力 レポート:R_売上伝票出力 ---- [F_売上伝票](F_売上伝票明細)で入力したデータは、 [T_売上伝票] 伝票番号| 売上日付 |顧客コード|・・・ ----+-----+-----+--- 1001|2001/07/16|T20111 |・・・ [T_売上伝票明細] 伝票番号|商品コード|・・・ ----+-----+--- 1001|1021 |・・・ 1001|5545 |・・・ 1001|3222 |・・・ 1001|4665 |・・・ レポートのソースであるクエリーの結果は [Q_売上伝票出力] 伝票番号| 売上日付 |顧客コード|商品コード ----+-----+-----+----- 1001|2001/07/16|T2001 | 1021 1001|2001/07/16|T2001 | 5545 1001|2001/07/16|T2001 | 3222 1001|2001/07/16|T2001 | 4665 と素直に出てくれるのですが、 レポートの結果(詳細セクション)は 商品コード ----- 4665 3222 5545 1021 となってしまいます。 クエリーでソートしている訳でもありません。 お客様のご都合で、 ・商品コード順にソートする というクエリーは不可です。 レポートが、クエリー通りに出てくれる方法は 無いでしょうか? レポートを作り直したら出来るかもしれませんが、 原因を掴みたいので、ご教授願います。 よろしくお願い致します。 #プロポーショナルフォントは面倒です(;_;)
- ベストアンサー
- その他(データベース)
- SQLの書き方(UPDATE文)
SQLの書き方の質問です。 売上Tと商品Mというテーブルがあったとして、 売上Tには商品コード、数量、金額という項目が 商品Mには商品コード、単価という項目が それぞれあったとします。 売上Tの金額=売上T.数量×商品M.単価 この売上Tの金額を更新するのに、update文でできるだけシンプルに高速に動くSQL文を作成したいのですが、どのような書き方がよいと思いますか? 件数は例えば売上が100万件、商品が10万件あった場合を想定して。 以上よろしくお願いいたします。
- ベストアンサー
- Oracle
- SQLが分かりません
SQLの初心者です。 ACCESSで売上げ管理をしようと考えています。 売上げに関するテーブルは以下のようになっています。 ●売上げヘッダ テーブル 伝票番号(キー) 売上日 売上げ金額 : ●売上げ明細 テーブル 伝票番号(キー) 枝番(キー) 商品コード 商品名 単価 数量 値引金額 : 値引金額は商品ごとに決まり、値引きしなければ0が、値引きがあればその金額が入ります。 売上げ一覧を表示する時に、以下のようなイメージで、 ワークテーブルを作って、値引きがあれば「あり」と画面に表示させたいのです。 ※無い時は何も表示させません 伝票番号 売上日 売上げ金額 値引き有無 9999 2004/1/1 10,000 10000 2004/1/2 1,500 あり 10001 2004/1/2 20,000 10002 2004/1/3 18,900 10003 2004/1/4 23,500 あり 1回のSQLで実行したいのですが、SQLには詳しくないので、 どのように書けばよいか分かりません。 よろしくお願いします。 値引き区分が無ければ、売上げヘッダを見るだけなのですが、 値引きがあるかどうかは、売上げ明細まで見なければいけないので、 SQLの書き方が分からないのと、以下のようなワークテーブルを 作る必要があると思うのですが、どうなのでしょうか。 ●ワーク テーブル 伝票番号 売上日 売上げ金額 値引き区分
- ベストアンサー
- その他(データベース)
- SQLについての質問
教えてください!! テーブルAに商品の売上情報(JANコード、売上金額、売上日)、テーブルBに商品マスタ情報(JANコード、更新日付、仕入区分、・・・)があります。欲しい情報は「仕入区分=1を満たす特定期間のJANコード別の売上金額合計」です。更新日付は他の商品マスタ情報を変更する都度付与される日付ですが、仕入区分はどの更新日付でも同じJANコードなら同じ値です。従って、単純に「仕入区分=1のJANコードの売上をSUM」で指定すると、重複行が発生し、正確な売上が出ません。例えば「同一JANコードなら最新の更新日付の仕入区分のみ見る」といった条件を加えるにはどのようにすればよいのでしょうか? 具体的なSQL文で教えてもらえると有り難いです。
- 締切済み
- SE・インフラ・Webエンジニア
- SQL文ニ関して
下記の3つのテーブルから下記フィールドを結合するSQL文を教えてください。 条件 ※SQL*PLUSを使用 ※店舗コードと営業日は共通(フィールドCDは別名) ※掛金額・商品券金額・クレジット金額はそれぞれフィールド数が10個(種類別) ※掛金額・商品券金額・クレジット金額はそれぞれ10個のフィールドを合計し その合計したフィールドのみを表示させる。別名をつける。 ※必要な店舗コードのみを抽出する。 ※エディタにSPOOLする。 テーブル(1) フィールド名 1 店舗コード 2 営業日 3~12 掛金額 13~22 商品券金額 23~32 クレジット金額 テーブル(2) フィールド名 1 店舗コード 2 営業日 3 現金売上金額 テーブル(3) フィールド名 1 店舗コード 2 営業日 3 現金過不足 宜しくお願いします。
- ベストアンサー
- その他(データベース)
- SQL文 グループ集計TOPに対する明細
すみません、教えてください。 得意先の売上額上位10社のそれぞれについて、仕入合計額上位10商品のリストを出力するSQL 文をがわからなくて困っています。 できれば、一般的なSQL文(SQL92)でお願いします。 テーブルは、下記の2つです。 -------------------------------------------- ・t_売上明細 売上日 得意先コード 商品コード 売上金額 ・t_商品マスタ 商品コード 仕入単価 <出力>====================================== 得意先コード, 売上合計,商品コード,仕入額合計 -------------------------------------------- C3 \300100 A08 \32500 A04 \31000 ~~~ A10 \30000(Top10) C2 \200200 A05 \22500 A04 \21000 ~~~ A10 \20000(Top10) ~~~ ~~~ C10 \1000(Top10) A97 \500 A14 \100 ~~~ A96 \10(Top10) ================================
- 締切済み
- その他(データベース)
- SQL SERVER 店舗毎のTOP10
表題の件のSQLについてアドバイスお願いいたします。 DB:SQL SERVER 2008 R2 テーブル:売上伝票 カラム 店舗|伝票No|伝票日付|商品CD|商品名|数量|単価|金額(数量x単価) SELECT TOP 10 店舗NO, 商品CD, 商品名, SUM(数量) AS 販売数, SUM(金額)AS 販売金額 FROM 売上伝票 WHERE 伝票日付 BETWEEN [開始日] AND [終了日] GROUP BY 店舗NO,商品CD,商品名, ORDER BY 店舗NO,販売金額 DESC 当然ですが、上記のSQLでは、一番若い店舗NOのトップ10しか抽出できません。 店舗別、販売金額のトップ10を抽出するための、SQL文についてお教えください。
- 締切済み
- SQL Server
- SQL文を教えてください。
MYSQLを使っています。 【売上テーブル】 || 日付 || 金額 || ----------------- || 2011/01/01 || 100 || || 2011/01/01 || 200 || || 2011/01/02 || 600 || ・ ・ ・ || 2012/12/31 || 500 || || 2012/12/31 || 100 || SELECT SUM(金額) FROM 売上テーブル WHERE 日付 BETWEEN '2011-01-01' AND '2011-12-31' GROUP BY DATE_FORMAT(日付, '%Y/%m') で月初から月末のデータを表示させることはできますが、 2011/01/10~2011/02/09を一か月として 以降は 2011/02/10~2011/03/09 2011/03/10~2011/04/09 ・ ・ ・ 2011/12/10~2012/01/09 といった感じに1年間のデータを表示させる方法がわかりません。 どうぞ宜しくお願いします。
- ベストアンサー
- MySQL
- sqlの作り方
テーブル'個人' 個人コード、履歴、名前 1 , 1 , 山田 1 , 2 , 木下 2 , 1 , 大木 3 , 1 , 佐田 3 , 2 , 山下 テーブル'会費' 個人コード、日付、 金額 1 , 2009/09/01 , 1000 2 , 2009/09/03 , 2000 3 , 2009/09/04 , 1000 3 , 2009/09/05 , 1000 上記のテーブル2個があります、個人テーブルの履歴は結婚などで名前が変わった方なのですが、最終履歴の名前を出したいのですがうまくいきません、結果は以下のようにしたいのですが、どなたか御教授くださいませ、宜しく御願いします 個人コード、名前、日付、 金額 1 , 木下 , 2009/09/01 , 1000 2 , 大木 , 2009/09/03 , 2000 3 , 山下 , 2009/09/04 , 1000 3 , 山下 , 2009/09/05 , 1000
- 締切済み
- MySQL