• ベストアンサー
※ 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月の日付を取得しようとしています。しかし、固定値との結合時の条件がわかりません。他の方法で結合することは可能でしょうか。

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

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

以下で参考になりますか? 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.日付

Ikiri337
質問者

お礼

教えていただいた方法で実現できました。 ありがとうございます☆

その他の回答 (1)

回答No.2

>ダミーテーブルを使用するということができないよう 何を言いたいのかよく分かりませんが、1ヶ月分の日付の集合を生成といったことなら、SQL Server 2005以降なら、WITH式で再起呼出する方法でも作れると思います。

Ikiri337
質問者

お礼

ありがとうございます。 OracleではDualというテーブルを使用することができなので、同様のものがSqlServerにはないということでした

関連するQ&A