Wie kombiniere ich diese SQL SELECT-Abfragen in eine SELECT-Anweisung

8

Wie kombiniere ich diese beiden Select-Anweisungen in einer Abfrage:

%Vor%

Also möchte ich, dass die Abfrage wie folgt zurückkehrt:

%Vor%

Ich möchte einfach die Ergebnisse der beiden obigen Abfragen kombinieren. Die zwei Abfragen sind unabhängig voneinander. Die Ergebnisse von eins wirken sich nicht auf die Ergebnisse der anderen Abfrage aus. Ich brauche einfach einen Weg, um die beiden Ergebnisse zu einem zusammenzuschlagen.

Wenn jemand einen Rat hat, lassen Sie es mich bitte wissen.

Danke.

-Laxmidi

    
Laxmidi 03.03.2010, 20:42
quelle

5 Antworten

1

Danke für die Hilfe, dies herauszufinden. Rufen Sie David Hall, Aaron, Jeffrey Whitledge & amp; NYSystemsAnalyst. Ich ging mit der Dummy-Spalte Option:

%Vor%     
Laxmidi 04.03.2010, 16:43
quelle
3

Das von Ihnen angegebene Beispiel gibt an, dass Sie die Abfragen horizontal kombinieren möchten. Später haben Sie jedoch angegeben, dass sie vollständig unabhängig sind. Dies sind widersprüchliche Anweisungen, da Sie normalerweise Daten horizontal kombinieren, wenn Datensätze miteinander in Beziehung stehen. Unten ist meine Idee, sie horizontal zu kombinieren, aber ich notiere auch meine Idee, sie vertikal darunter zu kombinieren.

Es hängt davon ab, wie Sie sie verknüpfen möchten. Wenn Sie basierend auf der Nachbarschaft Abfragen durchführen, können Sie eine Verknüpfung zwischen den beiden größeren Abfragen für fire_neigborhoods = adw_neighborhoods erstellen, beispielsweise:

%Vor%

Dies ist nur ein Beispiel. Möglicherweise benötigen Sie einen anderen Join oder etwas, damit es für Sie funktioniert.

Sie haben nun angegeben, dass die beiden Abfragen unabhängig voneinander sind und sich nicht gegenseitig beeinflussen. Wenn sie wirklich keine Gemeinsamkeiten haben, sollten Sie jeder Abfrage eine Spalte hinzufügen, die die Abfrage angibt, aus der sie stammt (z. B. eine Spalte mit einem konstanten Wert von 1 für die Feuerabfrage und eine Spalte mit einem konstanten Wert von 2 für adw hinzufügen Abfrage). Dann, einfach UNION die zwei großen Abfragen zusammen. Dies würde sie in einer vertikalen Weise im Gegensatz zu einer horizontalen Mode kombinieren.

    
NYSystemsAnalyst 03.03.2010 20:57
quelle
2

Wenn ich verstehe, was Sie richtig brauchen, können Sie die Abfragen zusammen verbinden und eine Spalte hinzufügen, die Sie darüber informiert, von welcher Abfrage sie stammt:

%Vor%

Zugegeben, Sie haben doppelt so viele Zeilen und die Hälfte Ihrer Daten wird null sein, aber nur die Ergebnisse "zusammenzuschlagen", wie in Ihrem Beispiel, ist nicht üblich.

    
Aaron 03.03.2010 20:57
quelle
1

Die Antworten der anderen Benutzer auf die Verwendung einer Diskriminatorspalte sehen so aus, als ob Sie danach suchen. Aber nur für den Fall ist es möglich, Pseudo-Platzhalterspalten den Verbindungen hinzuzufügen, wie unten gezeigt:

%Vor%     
David Hall 03.03.2010 21:01
quelle
0

Das Anzeigen von zwei nicht verwandten Abfragen nebeneinander ist normalerweise die Aufgabe der Berichtssoftware und nicht die der SQL-Engine. Das Problem besteht darin, dass Sie das Abfrage-Tool dazu auffordern, etwas zu tun, für das es nicht geeignet ist: Formatierung anzeigen.

Eine Relation (die das Ergebnis eines SELECT grundsätzlich sein soll) ist eine Datenstruktur, die Aussagen über den Zustand der Welt macht. Jede Zeile definiert eine Reihe von Aussagen, die (im Idealfall) wahr sind.

In Ihrer Frage enthalten die Zeilen willkürliche Verkettungen von Fakten, die nicht miteinander in Beziehung stehen und über die keine Aussagen gemacht werden können.

    
Jeffrey L Whitledge 03.03.2010 21:07
quelle

Tags und Links