2

これはちょっと奇妙に聞こえるかもしれませんが、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でさえないことです。これが後で問題になるのではないかと心配しています。何か案は?

4

1 に答える 1

5

質問を正しく理解していれば、次のことができると思います。

SELECT DisplayName, NULL as 'RegularHours', NULL as 'OvertimeHours'
于 2012-06-08T22:07:07.343 に答える