Zum Inhalt springen

Sql Select aus zwei Tabellen


time

Empfohlene Beiträge

Hallo zusammen,

möchte eine Abfrage aus zwei Tabellen durchführen, die unterschiedliche Datumseinträge haben. Das Ergebnis sollte die Summe aus beiden Tabellen zu den verschiedenen Datumseinträgen sein. Leider bekomme ich bei der Abfrage immer wieder neue Fehler. Vielleicht könnt Ihr mir helfen.

Server: SQL Server 2005 Express

Beispiel Tabelle1 und Tabelle2 :

25.10.2010 ... 25.10.2010 ...

25.10.2010 ... 25.10.2010 ...

25.10.2010 ... 25.10.2010 ...

24.10.2010 ... 23.10.2010 ...

24.10.2010 ... 22.10.2010 ...

22.10.2010 ... 22.10.2010 ...

Ergebnis sollte sein:

Spalte1 Spalte2

6 - 25.10.2010

2 - 24.10.2010

1 - 23.10.2010

3 - 22.10.2010

meine sql Abfrage:

select count([tabelle1].[zeitpunktdruck]) + count([tabelle2].[zeitpunktdruck])

, Zeitpunkdruck as Datum from tabelle1 tabelle2

Group by year(zeitpunktdruck), month(zeitpunktdruck), day(zeitpunktdruck)

Order by zeitpunktdruck DESC

Danke für Eure Hilfe

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also meine angabe ist ohne gewähr

aber es müsste doch eigentlich nur eine Summe relevant sein.

Wenn eine Tabelle ein anderes Datum als die andere hat

ist es doch umgekehrt das gleiche :confused:

Insofern würde ich folgendes Statement vorschlagen:


select a.count(*) as Summe, a.Datum, b.Datum

from tabelle1 a, tabelle2 b

where not

a.Datum = b.Datum

group by a.Datum

order by a.Datum



Link zu diesem Kommentar
Auf anderen Seiten teilen

Deine schreibweise des Statements nehme ich auch für gewöhnlich, da diese für mich intuitiver ist. Du musst bei Verwendung der "Count" Funktion allerdings nach alle gelisteten Spalten Ggoupieren.

Bei Oracle und SQL-Server macht die Serverseitige Abfrageoptimierung ausserdem aus dem Statement ein

SELECT COUNT(*) AS Summe, a.Datum AS 'Datum von A', b.Datum AS 'Datum von B'

FROM Tabelle1 AS a CROSS JOIN

Tabelle2 AS b

WHERE (NOT (a.Datum = b.Datum))

GROUP BY a.Datum, b.Datum

ORDER BY 'Datum von A'

Mit outer/inner/left/right joins kann man abgesehen von performanteren Statements auch die ergebnise besser steuern.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für Eure Antworten, doch leider funktioniert die Abfrage nicht.

Vielleicht hängt es mit dem Datum zusammen. Meine Abfrage auf die einzelnen Tabellen liefert das richtige Ergebnis, nur müssen die beiden zusammengefügt werden.

Abfrage1

SELECT Count([Tabelle1].ZeitpunktDruck) AS [Anzahl Druck],

Right(Right('0',1)+Right(Day([Zeitpunktdruck]),2),2)+'.'+Right(Right('0',1)+Right(Month([ZeitpunktDruck]),2),2)+'.'+Right(Year([ZeitpunktDruck]),4) AS Datum FROM [Tabelle1] where ZeitpunktDruck is not null GROUP BY Year([Zeitpunktdruck]), Month([Zeitpunktdruck]), Day([ZeitpunktDruck])

ORDER BY Year([Zeitpunktdruck]) DESC , Month([Zeitpunktdruck]) DESC , Day([ZeitpunktDruck]) DESC

und

Abfrage 2

SELECT Count([Tabelle2].ZeitpunktDruck) AS [Anzahl Druck],

Right(Right('0',1)+Right(Day([Zeitpunktdruck]),2),2)+'.'+Right(Right('0',1)+Right(Month([ZeitpunktDruck]),2),2)+'.'+Right(Year([ZeitpunktDruck]),4) AS Datum FROM [Tabelle2] where ZeitpunktDruck is not null GROUP BY Year([Zeitpunktdruck]), Month([Zeitpunktdruck]), Day([ZeitpunktDruck])

ORDER BY Year([Zeitpunktdruck]) DESC , Month([Zeitpunktdruck]) DESC , Day([ZeitpunktDruck]) DESC

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...