これはちょっと奇妙に聞こえるかもしれませんが、2つのテーブルを結合するクエリがあります。何を返すかを指示するIFステートメントを使用しています。1つのパスはクエリ/結合をそのまま実行し、もう1つのパスは最初の列からすべてのデータを返す必要がありますが、null値を持つ列名のみを返します。これが私が今持っているクエリです:
declare @Date DATE = '06/07/2012'
IF @DATE >= GETDATE()
BEGIN
SELECT DisplayName, '' [RegularHours], ''[OvertimeHours]
FROM Sites
ORDER BY DisplayName
END
ELSE
SELECT sites.DisplayName, hrs.SiteDate, hrs.RegularHrs, hrs.OverTimeHrs
FROM Sites sites
left join SiteHours hrs on sites.SiteID = hrs.SiteID
ORDER BY DisplayName
私を緊張させているのは、2番目と3番目の列に値がまったくなく、NULLでさえないことです。これが後で問題になるのではないかと心配しています。何か案は?