2016-05-17 8 views
0

Ich möchte Aliase zur SQL-Abfrage von Select-Unterabfrage hinzufügen.Ist es möglich, SQL-Alias ​​aus Unterabfrage hinzuzufügen?

so etwas wie

SELECT 
    ID AS(
      SELECT 
       TOP1 NAME 
      FROM MYTABLE 
    ) 
    ,NAME 
    ,SURNAME 
FROM PEOPLE 

Ist es möglich?

Fehler:

Msg 102, Level 15, State 1, Line 1 Incorrect syntax near '('. Msg 102, Level 15, State 1, Line 1 Incorrect syntax near ','. Msg 156, Level 15, State 1, Line 8 Incorrect syntax near the keyword 'and'

+5

Warum auf der Erde ..? –

+0

Welche DB benutzen Sie? Wenn Sie diese Abfrage ausprobiert haben, was ist passiert? – Alfabravo

+0

Reihenfolge umschalten, '(SELECT TOP1 NAME FROM MYTABLE) AS ID'. Macht aber wenig Sinn. Entweder haben Sie eine korrelierte Unterabfrage oder führen einen Join durch. – jarlh

Antwort

1

Nur mit dieser:

DECLARE @n VARCHAR(MAX), @sql VARCHAR(MAX) 

SELECT TOP 1 @n = NAME FROM MYTABLE 
SET @sql = 'SELECT ID AS ' + @n + ', NAME, SURNAME FROM PEOPLE' 

EXEC(@sql) 
+0

Ich denke 'TOP 1' wird nicht benötigt. –

+0

@ Prdp, ja hat keinen Sinn, ohne zu bestellen –

Verwandte Themen