Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
DerM
Threadersteller
Dabei seit: 18.01.2009
Ort: -
Alter: 42
Geschlecht:
|
Verfasst Do 08.10.2009 12:09
Titel MySQL: Left JOIN Problem |
|
|
Hallöchen zusammen ich hab ein kleines Problem...
Ich hab hier mein SQL Statement, welcher auch soweit funktioniert. Ich habe einen Job den ich über eine ID zuordne, soweit so gut.. Jetzt kann man zu den Jobs Zeiten anlegen, welche jeweils eine Beschreibung enthalten dürfen. Soweit auch ganz gut. Nun jetzt aber das Problem wenn ich einen Job angelegt habe, zu dem es aber noch keine Zeiten gibt, bekomme ich ein Empty zurücl geliefert. auch sämtliches Debugging hat mir immer ein Empty Set zurückgeliefert.
Im folgende Statement hat die Job Id 185, drei Zeiten.. Wenn ich aber eine andere Job Id sagen wir mal 186 anlege, zu der es noch keine Zeiten gibt, bekomm ich gar nichts zurück.
Code: | select z.bezeichnung as jobbeschreibung, z.mitarbeiter_id, z.a_job_id, z.startzeit, z.endzeit, j.id,
j.bezeichnung, j.beschreibung, p.bezeichnung as projektbezeichnung, s.status, k.firma
from jobs_zeiten as z
left join (projekte as p, jobs_status as s, kunden as k, jobs as j)
on (p.id = j.projekte_id and p.kunden_id = k.id and j.status = s.id and z.a_job_id = j.id)
where j.verantwortlicher_mitarbeiter_id = 172
and s.id > 0
and j.id = 185 |
Hatte auch schon überlegt das über Nested Querys zu lösen, was aber in Coldfusion (die Anwendungssprache hier) nicht erlaubt ist, und ich eigentlich aus dem PHP Bereich stamme, wo Nested Querys ja erlaubt sind...
Hoffe ihr könnt mir helfen, und mir einen kleinen Denkanstoß geben wie ich das Query so optmieren kann, das er mir auch die Null Felder zurückgibt und nicht sagt "Empty Set"
// Nachtrag: Habs auch mit UNION versucht, aber dann haben die Ergebnisse ja eine unterschiedliche Anzahl ---
Danke Danke
Zuletzt bearbeitet von DerM am Do 08.10.2009 12:11, insgesamt 1-mal bearbeitet
|
|
|
|
|
DerM
Threadersteller
Dabei seit: 18.01.2009
Ort: -
Alter: 42
Geschlecht:
|
Verfasst Do 08.10.2009 12:56
Titel
|
|
|
Vorerst solved: Ich hab dann doch 2 Querys draus gemacht, die mir zwar nicht so ganz schmecken, aber immerhin funktionieren ...
Trotzdem danke
|
|
|
|
|
Anzeige
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Do 08.10.2009 15:32
Titel
|
|
|
ja is ja auch klar, du fragst ja auch nach Zeiten, nicht nach Jobs. Statt
SELECT ... FROM zeiten JOIN jobs, .... solltest du SELECT .... FROM jobs JOIN zeiten
benutzen. Nested Queries kenne ich nicht, du meinst wahrscheinlich subselects. Die gibt es auch in der PHP-Welt nur äußerst eingeschränkt, da durch die mysql-Treiber immer nur flache Ergebnismengen und keine Hierarchien zurückgeben werden. Außerdem ist die Funktionalität an sich vom verwendeten DBS abhängig, Subselects werden erst ab mysql > 4 unterstützt.
Select (select count(*) ...) anzahl
geht.
select (select * ...)
geht nicht
|
|
|
|
|
DerM
Threadersteller
Dabei seit: 18.01.2009
Ort: -
Alter: 42
Geschlecht:
|
Verfasst Do 08.10.2009 16:35
Titel
|
|
|
bacon hat geschrieben: | ja is ja auch klar, du fragst ja auch nach Zeiten, nicht nach Jobs. Statt
SELECT ... FROM zeiten JOIN jobs, .... solltest du SELECT .... FROM jobs JOIN zeiten
benutzen. Nested Queries kenne ich nicht, du meinst wahrscheinlich subselects. Die gibt es auch in der PHP-Welt nur äußerst eingeschränkt, da durch die mysql-Treiber immer nur flache Ergebnismengen und keine Hierarchien zurückgeben werden. Außerdem ist die Funktionalität an sich vom verwendeten DBS abhängig, Subselects werden erst ab mysql > 4 unterstützt.
Select (select count(*) ...) anzahl
geht.
select (select * ...)
geht nicht |
jobs join zeiten hats auch nicht gebracht leider .. Hatte das auch schon vorher versucht .. Jo mit nested Querys sind Subselcects gemeint.. Select count () hat auch nicht das gewünschte ergebnis geliefert ..
Wie gesagt sind jetzt 2 Querys.. einer mit 3 Joins und einen einzelenen, abhängig des Ergebnis des ersten Querys ..
Aber danke
|
|
|
|
|
|
|
|
Ähnliche Themen |
[SQL] LEFT JOIN + UPDATE Problem
JOIN LEFT
LEFT JOIN ?
SQL Abfrage mit LEFT JOIN bleibt hängen
[MYSQL & PHP || GELÖST] -> Join-Abfrage
[MySQL] Join über 3 und mehr Tabellen …
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|