[解決済み】2つのSELECT文の結果をJOINする。
2022-04-04 17:19:54
質問
2つのSQLの結果を結合することは可能ですか?
SELECT
ステートメントを1つのステートメントにまとめることができますか?
私はタスクのデータベースを持っていて、各レコードは別々のタスクで、締切があります(と
PALT
は、単なる
INT
開始日から締め切りまでの日数
Age
はまた
INT
日数)
テーブルを作りたいのですが、そのテーブルには、各人が持っているタスクの数と
LATE
その人が持っているタスク(もしあれば)。
このデータは、こんな風に簡単に別々のテーブルで取得できるんだ。
SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks
のようなデータを返します。
ks # Tasks
person1 7
person2 3
を、持っています。
SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks
を返します。
ks # Late
person1 1
person2 1
そして、この2つの結果を結合したいのです。
select
ステートメントを使用することで、(
KS
)
tempテーブルを使わないようにしているのですが、それしか現実的な方法がないのであれば、このような形でtempテーブルを使うことについて詳しく教えていただきたいです。
のようなものもやってみた。
count()
という条件を満たす行がありますが、これもやり方が分かりませんでした。 もし可能であれば、それも有効だと思います。
追記です。
すみません、私は結果に
KS
,
Tasks
および
Late
KS # Tasks # Late
person1 7 1
person2 3 1
person3 2 0 (or null)
さらに、遅刻のタスクがない人でも出てきてほしいのです。
SUM(CASE WHEN Age > Palt THEN 1 ELSE 0 END) Late
はうまく機能します。この回答をありがとうございました
2つのselect文も動作します。
LEFT JOIN
を結合する方法も理解できましたし、複数の
select
このように
解決方法は?
SELECT t1.ks, t1.[# Tasks], COALESCE(t2.[# Late], 0) AS [# Late]
FROM
(SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks) t1
LEFT JOIN
(SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks) t2
ON (t1.ks = t2.ks);
関連
-
[解決済み] ORA-00920: 無効な関係演算子
-
[解決済み] オペランド型の衝突:uniqueidentifierはintと互換性がない
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] 各GROUP BYグループの最初の行を選択しますか?
-
[解決済み] SQL ServerでJOINを使用してUPDATE文を実行するにはどうすればよいですか?
-
[解決済み] データフレームを結合(マージ)する方法(内側、外側、左側、右側)
-
[解決済み] JOINとINNER JOINの違いについて
-
[解決済み] INNER JOIN ON vs WHERE句
-
[解決済み】「INNER JOIN」と「OUTER JOIN」の違いは何ですか?
-
[解決済み】ジョインとサブクエリの比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】2つの列を分割する方法は?
-
[解決済み】参照するテーブルにプライマリーキーやキャンディデートキーがない
-
[解決済み】テキストが切り捨てられた、または1つ以上の文字がターゲットコードページで一致しない アンピボットの主キーを含む
-
[解決済み] テスト
-
[解決済み】ORA-01791: SELECTされた式ではない
-
[解決済み] Presto SQL ピボッティング(言葉は悪いですが)データ
-
[解決済み] Oracle(LiveSQL)のSQL [重複]について
-
[解決済み] Ruby On Rails で NuoDB を使用して SQL コマンドを手動で実行する方法
-
[解決済み] マルチパート識別子をバインドできなかった
-
[解決済み] トリガーがコンパイルエラーで作成される