No.2ベストアンサー
- 回答日時:
こんなやり方ではどうでしょうか?
SELECT MAX(出荷番号) FROM (SELECT 出荷番号, 出荷日 FROM 出荷 WHERE 出荷日=8/4) AS A INNER JOIN (SELECT 出荷番号, 出荷日 FROM 出荷明細 WHERE 出荷日=8/4) AS B ON A.出荷日=B.出荷日
SQLは、手許に実行環境がないので、不正確です。ニュアンスだけ感じ取ってください^^;
どのDBだとどのSQLが通ったのか、あんまりよく覚えていないので…。
No.3
- 回答日時:
No1さんの回答の2番煎じです。
<出荷ファイル>
ID__出荷日_________出荷番号
1___2007/08/06__5
2___2007/08/06__7
<出荷明細>
ID__出荷日_________出荷番号__品名
1___2007/08/06__5_____________A
2___2007/08/06__6_____________B
UNION 演算子を使用すると、2 つ以上の SELECT ステートメントの結果を結合して単一の結果セットにできます。
(Books Online)
ですから、<最大値なら単一の結果セット>と考えるでしょう。
select 出荷番号 from 出荷ファイル where 出荷日='2007/08/06'
union
select 出荷番号 from 出荷明細 where 出荷日='2007/08/06'
このSQL文の実行結果は次のようです。
____|出荷番号|
____|____________|
___1|__________5|
___2|__________6|
___3|__________7|
こうなれば、出荷番号=7 を選択するのみ。
select max(出荷番号) As 出荷番号最大値 FROM
(select 出荷番号 from 出荷ファイル where 出荷日='2007/08/06'
union
select 出荷番号 from 出荷明細 where 出荷日='2007/08/06') as ShipNumbers
____|出荷番号最大値|
____|_____________________|
___1|___________________7|
「No1さんの回答の2番煎じ」という理由です。
PS:[素直に考えればunionを使いたくなります]とは、どういう意味なのか?
SELECT * FROM 出荷ファイル AS A INNER JOIN 出荷明細 AS B ON A.出荷日=B.出荷日
____|ID|出荷日_______|出荷番号|ID|出荷日_______|出荷番号|品名|
____|---------------------------------------------------------
___1|_1|2007/08/06|__________5|_1|2007/08/06|___________5|A___|
___2|_2|2007/08/06|__________7|_1|2007/08/06|___________5|A___|
___3|_1|2007/08/06|__________5|_2|2007/08/06|___________6|B___|
___4|_2|2007/08/06|__________7|_2|2007/08/06|___________6|B___|
なるほど、単一の結果セットにならないので最大値を求めるには適しないということなんでしょうね。
※恥ずかしながら、本日、生まれて初めて union なんて使ってみました。
※まあ、便利なものがあったんですね。
No.1
- 回答日時:
SQL Serverは、2000ですか?2005ですか?それとも、別のバージョンですか?
出荷ファイルと出荷明細ファイルは、1:1ですか?
同一出荷日の行は、1行なのですか?それとも、複数行ですか?
出荷ファイル.出荷番号と出荷明細ファイル.出荷明細ファイル.出荷番号という異なる列について、最大値を得るなら、素直に考えればunionを使いたくなります。
select max(出荷番号) from
(select 出荷番号 from 出荷ファイル where <出荷日が8/6を得る条件>
union
(select 出荷番号 from 出荷明細ファイル where <出荷日が8/6を得る条件>) as x
inner joinで、何か得たい情報があるのですか?
この回答への補足
SQL Serverは2005です。
また、出荷ファイルと出荷明細ファイルはn:nです。
INNER Joinで得たい情報はないです。出荷番号の最大値だけ得たいのです。
追加ですが、MAX(出荷番号)とありますが、これは、出荷ファイル.出荷番号とか出荷明細ファイル.出荷番号とか指定しなくていいのですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Excel(エクセル) エクセルの表について 3 2023/04/14 18:00
- Oracle sqlで質問です。 Aテーブルの登録番号をキーにBテーブルから確認番号を取得したいのですが、Bテーブ 4 2023/05/18 13:08
- 飛行機・空港 国際線の格安航空券 ビジネスクラスのほうが安い場合もあるのですか? 国際線の格安航空券を初めて買おう 4 2022/04/11 12:41
- その他(AV機器・カメラ) ソニーストア 1 2022/12/22 10:02
- 筋トレ・加圧トレーニング 解ける人式もありでお願いします 1.スクワットが60キロで最大8回出来た人の最大筋力 2.スクワット 1 2022/10/04 20:20
- 日本語 連体修飾語についてのご質問 3 2023/07/26 10:23
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
複数テーブルのMAX値の行データを取得したい
Oracle
-
MAX関数を使ってからLEFT JOINしたいのですが・・
PHP
-
GROUP BYを行った後に結合したい。
Oracle
-
-
4
MAX値を条件にデータを取得するには?
SQL Server
-
5
複数テーブルにまたがるmax
PostgreSQL
-
6
UNIONなどで複数のテーブルから上位10件などSELECTする方法
SQL Server
-
7
SQL Left Join で重複を排除するには
SQL Server
-
8
2つの列からの最大値取得
PostgreSQL
-
9
unionの結果は集計はできないですよね。。。。
Oracle
-
10
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
11
FROM の中で CASE を使えるでしょうか
SQL Server
-
12
複数列の最大値を求めたい
SQL Server
-
13
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
14
INSERT文でフィールドの1つだけを他のテーブルから取ってきた値を入れたい
その他(データベース)
-
15
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
16
SQL Server:UNIONで結合した結果にIDを追加するには?
SQL Server
-
17
Subversionのリポジトリの削除
その他(プログラミング・Web制作)
-
18
ACCESS 一番最新の日付の金額を出したいのですが・・
その他(データベース)
-
19
SELECT 文 GROUP での1件目を取得
SQL Server
-
20
[ BETWEEN ] vs [ >= AND <= ]
MySQL
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
商品番号を入力すると、商品名...
-
ACCESS2000でコードごとの連番...
-
SQL内での計算に関して
-
1、Rstudioで回帰直線を求める...
-
JavaScriptの定数名が取り消し...
-
フィルターかけた後、重複を除...
-
広告ブロッカーのアドカードと...
-
for whichの使い方
-
エクセルVBAでEdate関数は使え...
-
誰か教えてください
-
マイクラPC版のコマンドで効率...
-
pythonで同じコード内で複数の...
-
外部参照してるキーを主キーに...
-
差し込み後、元データを変更し...
-
マクロ 連続印刷
-
副問合せの書き方について
-
英語ができる方、問題をお願い...
-
This video is no longer avail...
-
SQLによる"あいうえお"順でソー...
-
SQLについての質問
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
商品番号を入力すると、商品名...
-
LEFT JOIN あいまいな外部結合
-
Accessのフォームで思った順番...
-
2つのテーブルを結合して最大値...
-
特定条件での連番の振り方を教...
-
updateでグループ化
-
IDの欠番
-
orace SQL文のエラー(ORA-0092...
-
エクセルでリピート率
-
各伝票に対して明細を1行目だけ...
-
accessクエリの結果の縦横表示...
-
ACCESSでフォーム上のオブジェ...
-
Word差し込み印刷 数式について
-
Access 会員番号4桁にする方法
-
正規化の問題
-
文字列のあるキーワードから開...
-
アクセスのフォームで連動した...
-
Accessレポート 複数条件での集計
-
SQL内での計算に関して
-
ACCESSのテーブル設計と...
おすすめ情報