2011-09-28 51 views
0

我使用下面的查詢從SQL Server顯示記錄SQL查詢添加備用空白的記錄

select * from orders 

目前該查詢顯示全部100個記錄的數據庫,我需要的是,而不是100它應該顯示200條記錄(所以備用空白記錄是好的)可以這樣做嗎?

+2

這是最好的表示層來完成。 – RedFilter

+3

出於興趣你爲什麼要這樣做?這可能是數據呈現方式的要求嗎?表示邏輯應該真正與CRUD(創建,檢索,更新,刪除)操作分開。 –

回答

3
-- sample table 
declare @Order table 
( 
    orderid int, 
    qty int 
) 

-- add some data 
insert into @Order 
select 1, 10 union all 
select 2, 20 union all 
select 3, 30 

-- cross join the query against two rows  
select case D.N when 1 then O.orderid end as orderid, 
     case D.N when 1 then O.qty end as qty 
from @Order as O 
    cross join (select 1 union all select 2) as D(N) 
order by O.orderid, D.N 

結果:

orderid  qty 
----------- ----------- 
1   10 
NULL  NULL 
2   20 
NULL  NULL 
3   30 
NULL  NULL