SQL-запрос добавить альтернативные пустые записи

#sql-server-2005

#sql-server-2005

Вопрос:

Я использую следующий запрос для отображения записей с SQL SERVER

 select * from orders
  

В настоящее время этот запрос показывает все 100 записей в базе данных, мне нужно, чтобы вместо 100 он показывал 200 записей (так что альтернативные пустые записи в порядке) Возможно ли это сделать?

Комментарии:

1. Это лучше всего делать на уровне представления.

2. Из интереса, почему вы хотите это сделать? Возможно, это требование к способу представления данных? Логика представления действительно должна храниться отдельно от операций CRUD (создание, извлечение, обновление, удаление) над данными..

Ответ №1:

 -- 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