2017-09-20 4 views
1

mir die folgenden Abfrage bin mit einem SSRS Parameter zu erstellen und müssen vom NachnamenBestellung von Union Select ALL

SELECT Lastname + ', ' + FirstName + ' ' + '(' + INPN + ')' as Agent 

FROM tblagents where agentcode in (SELECT AgentCode from AgentDetail) 

UNION 
SELECT ' ALL' AS Agent 

Ich versuchte zuerst zu verwenden, um von vor der Vereinigung bestellen.

Dann habe ich versucht, das alles von

SELECT * 
from (
    (SELECT Lastname, Firstname, INPN FROM tblAgents where agentcode in (SELECT AgentCode from AgentDetail)) 
    UNION SELECT ' ALL' AS Agent 
) 

in einer select * wickeln, das auch nicht funktioniert. Wie kann ich in meiner Anfrage nach Nachnamen suchen?

+1

Was Sie hat nicht funktioniert das? Ich sehe dort keine Ordnung? Welches Ergebnis erwartest du? –

+1

Tab Ihre Frage mit der Datenbank, die Sie verwenden. –

+0

@JuanCarlosOropeza yup, sorry, ich hätte die vollständige Aussage enthalten. Whoops –

Antwort

3

Die sintaxis ist order by am Ende. Nicht vor der Vereinigung

SELECT * FROM Table1 
UNION 
SELECT * FROM Table2 
ORDER BY <somefield> 

In Ihrem Fall etwas wie folgt aus:

SELECT Lastname as OrderField, 
     Lastname + ', ' + FirstName + ' ' + '(' + INPN + ')' as Agent 

FROM tblagents 
WHERE agentcode in (SELECT AgentCode FROM AgentDetail) 

UNION ALL 

SELECT 'AAAAA' as OrderField, 
     'ALL' AS Agent 
ORDER BY OrderField 
+0

Große Antwort und vielen Dank. –

1
SELECT T.Lastname, T.Firstname, T.INPN , T.Agent 
FROM (
     SELECT Lastname, Firstname, INPN , null as Agent 
     FROM tblAgents 
     WEHRE agentcode in (SELECT AgentCode 
          from AgentDetail) 
     UNION 
     SELECT null,null,null, 'ALL' AS Agent 
    ) AS T 
ORDER BY T.Lastname asc 
+0

Ich mag diese Antwort auch, aber ich wählte die andere, wie es näher an meiner Anwendung war. Danke für die Antwort. –