Wie UNION verwendet, die beim einfügen in eine Tabelle mit SELECT-Klausel aus vielen Tabellen in SQL Server 2000

Ich bin mit SQL Server 2000. Ich habe mehrere Kriterien, die ich habe zu verwenden, extrahieren Sie unterschiedliche sets von Datensätzen aus mumtiple Tabelle in einer anderen Tabelle. Ich bin mit

INSERT INTO T1(A,B)
(SELECT E,R FROM T2)
UNION
(SELECT Z,X FROM T3)

Query analyzer wirft Fehler, die während der Verwendung UNION verwenden, sollten Sie ORDER BY Klausel mit SELECT. Auch nach zu tun, dass ich m nicht in der Lage zu union zwei unterschiedliche Abfragen, die returing gleichen Spalten, die in Ihrer select-Klausel.

Was ist der richtige Weg zu legen mit SELECTS mit UNIONS und ORDER BY.

Einfach loszuwerden, die Klammern und die query, die du gepostet hast sollten funktionieren im Prinzip vorausgesetzt, es gibt eine union vereinbar Ergebnis (auch wenn es 2 kartesische joins, die wahrscheinlich nicht der gewünschten Semantik). Und natürlich ist das Ergebnis müsste kompatibel sein mit der insert Aussage-das könnte nur der Fall sein, wenn alle 4 beteiligten Tabellen nur 1 Spalte. Ehrlich gesagt der Beispiel-code, den Sie geschrieben erscheint mir ziemlich unsinnig. Können Sie erklären, warum/wo Sie mit order by hier als das nicht sogar Funktion irgendwo?
es überrascht mich auch. Für einfache Einsätze wie CREATE TABLE BB(NAME VARCHAR(200)) INSERT INTO BB SELECT NAME FROM FS77..S_ORG_EXT WHERE NAME LIKE '%Hos%' UNION SELECT NAME FROM FS77..S_ORG_EXT WHERE NAME LIKE '%Com%' funktioniert es einwandfrei, aber für den Komplex i m die Verwendung mit unterschiedlichen SQLs retruning gleichen Spalten in select-und die verschiedenen WHERE-Klauseln mit UNION, Wirft ES eine Fehlermeldung Server: Msg 104, Ebene 15, Status 1, Linie 1 ORDER BY-Elemente müssen in der Auswahlliste angezeigt, wenn die Anweisung mit einem UNION-operator.
Vor der Verwendung von UNION, mit einzelnen INSERT Mit SELECT, ich bin mit einigen Kriterien, die in der Verknüpfung, wo ich bin mit ORDER BY COL_NAME, ohne mit COL_NAME in WÄHLEN Sie auf einen join, UNION, es ist die Schaffung problem, von dem ich m nicht in der Lage zu verstehen.
Benutzt habe ich einige Verknüpfungen wie dieser LEFT-OUTER-JOIN FS77..S_CONTACT_XM REQXM AUF REQXM.PAR_ROW_ID = ERF.ROW_ID UND REQXM.TYPE = 'Kontakt-Programm' UND REQXM.ATTRIB_03 = 'Orencia Reimb Support Services' UND REQXM.ROW_ID = (SELECT TOP 1 ROW_ID VON FS77..S_CONTACT_XM WO PAR_ROW_ID = ERF.ROW_ID UND TYPE = 'Kontakt-Programm' ORDER BY ERSTELLT DESC)

InformationsquelleAutor Walker | 2011-01-19

Schreibe einen Kommentar