2016-07-18 13 views
0

I Multi-Datensätze für Seriennummer wählen möchten, wie:Wie mehrreihige wählen nicht aus der Tabelle

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

Wenn ich 100 Datensätze auswählen möchten oder mehr, Gibt es einen besseren Weg?

+0

Was die Tabelle, aus dem Sie die Auswahl mehrmals in der "UNION"? Sie können vielleicht etwas wie 'SELECT * FROM ... verwenden. WHERE col IN (' l1 ',' l2 ', ...) ' –

+0

Ich möchte mehrere Datensätze in eine leere Tabelle einfügen, wie beim ersten Prozess. –

+0

Können Sie uns bitte eine Tabellenstruktur zeigen? –

Antwort

0

finde ich einen anderen Weg, um mein Problem zu lösen, erstellen Sie eine benutzerdefinierte Funktion:

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 
) 

können dann wählen Sie 10 oder mehrere Datensätze leicht

SELECT * FROM dbo.SerialTable(11, 20); 
SELECT * FROM dbo.SerialTable(11, 100); 
Verwandte Themen