2016-07-18 3 views
0

Я хочу, чтобы выбрать мульти записи для серийного номера, например:Как выбрать многорядный не из таблицы

select * from 
(
    select 11 as COMP_NO 
    union 
    select 12 
    union 
    select 13 
    union 
    select 14 
    union 
    select 15 
) A 

Если я хочу, чтобы выбрать 100 записей или более, Есть ли лучший способ?

+0

Что такое таблица, из которой вы выбираете несколько раз в «UNION»? Возможно, вы сможете использовать что-то вроде 'SELECT * FROM ... WHERE col IN ('l1', 'l2', ...)' –

+0

Я хочу вставить несколько записей в пустую таблицу, например, в начальный процесс. –

+0

Не могли бы вы показать нам какую-нибудь структуру таблицы? –

ответ

0

я найти другой способ, чтобы решить мою проблему, создать определенную пользователем функцию:

CREATE FUNCTION [dbo].[SerialTable] 
(
    @BeginNo int 
    , @EndNo int 
) 
RETURNS TABLE 
AS 
RETURN 
(
    WITH MySerial(SNO, ENO) 
    AS(
     SELECT @BeginNo AS SNO, @EndNo as ENO 
     UNION ALL 
     SELECT SNO+1, ENO 
     FROM MySerial 
     WHERE SNO<ENO 
    ) 
    SELECT SNO 
    FROM MySerial 
) 

затем можно выбрать 10 или больше записей легко

SELECT * FROM dbo.SerialTable(11, 20); 
SELECT * FROM dbo.SerialTable(11, 100); 
Смежные вопросы