Hallo
hier mal das statement:
das syntaktisch richtig aussieht, aber neben dem bereits gesagten
SELECT
best.id_bestellvorgang,
best.id_dienststelle,
best.id_lieferant,
best.id_art_garantie,
best.id_art_beschaffung,
best.kennzeichen,
best.datum_lieferung,
best.beschreibung,
best.preis,
best.dauer_garantie,
best.dauer_gewaehrleistung,
best.reaktionszeit,
best.instandsetzungsdauer,
best.status,
best.ware,
best.seriennummer,
best.vertrag_intern,
best.vertrag_extern,
inst.id_bestellvorgang,
inst.id_dienststelle
FROM
bestellvorgang best,
installationsort inst
WHERE
best.id_bestellvorgang > 0
AND best.id_art_beschaffung = 1
vermisse ich die JOIN-Klausel
Da Du keine Fehler von Deinem DBMS gemeldet bekommst, gehe ich davon aus,
dass es einfach keine Datensätze gibt.
Eine mögliche Erklärung wäre folgende:
Da Du die JOIN-Klausel weglässt, wird das kartesische Produkt beider Tabellen gebildet. Wenn es in der Tabelle installationsort keinen Datensatz gibt, dann kann es in der Ergebnismenge keinen Datensatz geben. Möchtest Du alle Datensätze haben, auch denen kein Datensatz in der Tabelle installationsort zugeordnet ist, dann wäre ein LEFT JOIN angebracht:
SELECT
best.id_bestellvorgang,
best.id_dienststelle,
best.id_lieferant,
best.id_art_garantie,
best.id_art_beschaffung,
best.kennzeichen,
best.datum_lieferung,
best.beschreibung,
best.preis,
best.dauer_garantie,
best.dauer_gewaehrleistung,
best.reaktionszeit,
best.instandsetzungsdauer,
best.status,
best.ware,
best.seriennummer,
best.vertrag_intern,
best.vertrag_extern,
inst.id_bestellvorgang,
inst.id_dienststelle
FROM
bestellvorgang best
LEFT JOIN
installationsort inst
ON best.id_bestellvorgang = inst.id_bestellvorgang
WHERE
best.id_bestellvorgang > 0
AND best.id_art_beschaffung = 1
Mehr zu JOINs gibts auf SELFHTML aktuell:
Freundliche Grüße
Vinzenz