Zwei tabellen unabhängig von einander gleichzeitig abfragen

Marco-P

Erfahrenes Mitglied
Hallo Leute,
hab ein glaube ich zu leichtes problem mit einer abfrage.
Und hoffe ich kann es hier etwas erklären.



habe zwei tabellen.

1. Tabelle

datum - uhrzeit kommen - uhrzeit gehen

2. Tabelle

datum - soll kommen - soll gehen


jetzt sind nicht immer beide datumswerrte in beiden tabellen vorhanden.
soll heißen wenn am 01.08.11 in tabelle 1 nichts steht will ich aber trotzdem tabelle 2 sehen.
und umgedreht natürlich auch.

Ich glaub ich stehe auf dem schlauch weil es zu einfach ist.

MFg Marco
 
Hi,

so kähme jedenfalls schon mal eine Ergebnissmenge heraus, identische Tupel werden ebenfalls nicht ausgegeben.
Was soll passieren, wenn es ein datum 2 mal giebt? (ist datum in einer/beiden Tabelle(n) der Primärschlüssel?)

SQL:
SELECT *
FROM tabelle1
UNION SELECT *
FROM tabelle2

Gruß javaDeveloper2011
 
Zuletzt bearbeitet von einem Moderator:
Ich glaube nicht das UNION die richtige wahl ist.

in der einen Tabelle wird es das datum eventuell mehr als einmal geben.
Allerdings in der zweiten tabelle definitiv nur einmal.

die verbindung ist eine dritte tabelle mit dem nahmen Plan
in der quasi die verbindung zum datum dem mitarbeiter und der soll arbeitszeit hionterlegt ist.

Momentan arbeite ich mit INNER JOIN da ist allerdings das problem wenn keine schicht definiert ist dann gibt es auch keine ausgabe auch wenn kommen und gehen zeiten vorhanden sind. Das ist auf den ersten Blick etwas verwirrend.
 
Mach am besten mal ein Beispiel, was da drin steht und wie das Resultat aussehen soll.

Nachtrag: In etwa so könnte es das Resultat geben, von dem ich meine das es das ist was du haben willst
SQL:
SELECT
	t1.id AS id1,
	t2.id AS id2
FROM
	-- Alle ids ermitteln
	(
		SELECT id FROM t1
		UNION DISTINCT SELECT id FROM t2
	) AS all_ids
	-- und mit den 2 Tabellen mittels LEFT JOIN verknüpfen
	LEFT JOIN t1 ON all_ids.id = t1.id
	LEFT JOIN t2 ON all_ids.id = t2.id
ORDER BY
	all_ids.id;
 
Zuletzt bearbeitet von einem Moderator:
Zurück