it-swarm.com.de

Kombinieren von 2 SQL-Abfragen und Erhalten einer Ergebnismenge in einer

Ich bin ziemlich neu in SQL-Abfragen.

Ich habe 2 Abfragen, die 2 Ergebnissätze zurückgeben, und Abfragen geben die korrekte Ausgabe zurück.

Wie kann ich diese beiden Abfragen in einer zusammenfassen, um eine einzige Ergebnismenge zu erhalten?

Abfrage 1:

"SELECT SUM("+Fdays+")AS fDaysSum From tblFieldDays WHERE tblFieldDays.NameCode=35 AND tblFieldDays.WeekEnding=?"

Abfrage 2:

SELECT SUM("+CHdays+") AS hrsSum From tblChargeHours WHERE tblChargeHours.NameCode=35 AND tblChargeHours.WeekEnding=? "

Vielen Dank.

23
W A K A L E Y

Sie können sowohl die Abfrage als auch die Auswahl in der Auswahlabfrage als Aliasing verwenden
http://sqlfiddle.com/#!2/ca27b/1

SELECT x.a, y.b FROM (SELECT * from a) as x, (SELECT * FROM b) as y
45
Willy Pt

Sie können einen CROSS JOIN verwenden:

SELECT *
FROM (  SELECT SUM(Fdays) AS fDaysSum 
        FROM tblFieldDays 
        WHERE tblFieldDays.NameCode=35 
        AND tblFieldDays.WeekEnding=1) A -- use you real query here
CROSS JOIN (SELECT SUM(CHdays) AS hrsSum 
            FROM tblChargeHours 
            WHERE tblChargeHours.NameCode=35 
            AND tblChargeHours.WeekEnding=1) B -- use you real query here
8
Lamak

Sie können auch einen CTE verwenden, um Gruppen von Informationen zu erfassen, die Sie möchten, und sie zusammenzufügen, wenn Sie sie in derselben Zeile haben möchten. Beispiel, abhängig von der verwendeten SQL-Syntax, hier:

WITH group1 AS (
  SELECT testA
    FROM tableA
),
group2 AS (
  SELECT testB
    FROM tableB 
)
SELECT *
  FROM group1
  JOIN group2 ON group1.testA = group2.testB --your choice of join
;

Sie entscheiden auf der Grundlage der von Ihnen abgerufenen Daten, welche Art von JOIN Sie möchten, und stellen sicher, dass in den Gruppen, aus denen Sie Informationen erhalten, dieselben Felder vorhanden sind, um alle diese Daten in einer einzigen Zeile zusammenzufassen. Wenn Sie mehrere Spalten haben, müssen Sie alle Spalten richtig benennen, damit Sie wissen, welche Spalte welche ist. Aus Performancegründen sind CTEs der richtige Weg anstelle von Inline-SELECTs und dergleichen. Hoffe das hilft. 

2
AS4noob

wie werden die 4 Abfragen als einzelne Abfragen zusammengestellt?

zeige unten anfrage

  1. gesamtzahl der in diesem Monat anhängigen Fälle + 2. Fälle (Basis auf Sysdate) + Gesamtzahl der Fälle (1 + 2) + Nein Fälle angeordnet, in denen nse = entsorgt + nein ist. der anhängigen Fälle (außer nse <> verlegt)

nsc = Art des Falls 

der Bericht wird am 06. jeden Monats erstellt

(Monatsbericht wird vom 05. Vormonat bis zum 05. des aktuellen Monats gezählt)

0
ramreddy aredla