- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQL SEREVER で選択した固定値との結合について質問です。)
SQL SERVERで固定値との結合についての質問
このQ&Aのポイント
- SQL SERVERで固定値との結合について質問です。日付と紐付けたデータを1ヶ月分出力するSQLを作成していますが、紐付け対象のデータには1ヶ月毎日のデータが存在しないため、固定値として2010年7月の日付を全て取得しようとしています。しかし、固定値との紐付け時の結合条件がわかりません。他の方法で実現することはできるのでしょうか。
- SQL SERVERで固定値との結合について質問です。1ヶ月分の日付と紐付けたデータを出力するSQLを作成していますが、日付と紐づけるデータが毎日存在しないため、固定値として2010年7月の日付を全て取得しようと考えています。しかし、固定値との結合時の結合条件がわかりません。他の方法で実現することはできるでしょうか。
- SQL SERVERで固定値との結合について質問です。日付と紐付けたデータを1ヶ月分出力するSQLを作成しているのですが、紐付けるデータには毎日のデータが存在しないため、固定値として2010年7月の日付を取得しようとしています。しかし、固定値との結合時の条件がわかりません。他の方法で結合することは可能でしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
以下で参考になりますか? SELECT a.日付, b.* FROM ( SELECT '2010/07/01' 日付 UNION ALL SELECT '2010/07/02' UNION ALL SELECT '2010/07/03' UNION ALL SELECT '2010/07/04' UNION ALL ・・・ SELECT '2010/07/31') AS a LEFT OUTER JOIN 結合対象テーブル AS b ON b.日付=a.日付 ちなみにSQL Server 2008では以下の書き方も可能です。 SELECT a.日付, b.* FROM ( VALUES ('2010/07/01'),('2010/07/02'),('2010/07/03'), ('2010/07/04'),・・・,('2010/07/31')) AS a(日付) LEFT OUTER JOIN 結合対象テーブル AS b ON b.日付=a.日付
その他の回答 (1)
- chukenkenkou
- ベストアンサー率43% (833/1926)
回答No.2
>ダミーテーブルを使用するということができないよう 何を言いたいのかよく分かりませんが、1ヶ月分の日付の集合を生成といったことなら、SQL Server 2005以降なら、WITH式で再起呼出する方法でも作れると思います。
質問者
お礼
ありがとうございます。 OracleではDualというテーブルを使用することができなので、同様のものがSqlServerにはないということでした
お礼
教えていただいた方法で実現できました。 ありがとうございます☆