Abfrage nicht vorhandene Einträge
Abfrage nicht vorhandene Einträge
am 06.06.2005 18:05:38 von alex_mx
Hallo NG!
Sitze hier gerade mächtigst auf dem Schlauch. Vielleicht kann mir da
jemand mal wieder runterhelfen ... ;-)
Habe 3 Tabellen: Produkte, Kategorien und Infotexte. Jedes Produkt darf
einen Infotext in jeder Kategorie haben. 5 Kategorien --> max. 5
Infotexte pro Produkt.
Jetzt möchte ich per Abfrage herausfinden, welche Kategorien bei einem
gegebenen Produkt noch nicht mit einem Infotext hinterlegt sind.
Hier die Tabellen zur besseren Übersicht:
Produkte (Info-)Kategorien Infotexte
----------- ------------ -----------
prod_id kat_id info_id
name name prod_id
text ... kat_id
preis text
... ...
Hat da jemand eine Idee, wie ich zu einer Auflistung der nicht
genutzten Kategorien pro Produkt komme?
Vielen Dank schon mal im voraus. Ich hoffe, ich habe mich verständlich
ausgedrückt.
Gruß
Alex
Re: Abfrage nicht vorhandene Einträge
am 06.06.2005 19:23:58 von Marian Heddesheimer
On 6 Jun 2005 09:05:38 -0700, alex_mx@gmx.net wrote:
>Sitze hier gerade mächtigst auf dem Schlauch. Vielleicht kann mir da
>jemand mal wieder runterhelfen ... ;-)
http://www.heddesheimer.de/coaching/left_join.html
Gruß
Marian
--
Online Lernen (auch fuer Blinde geeignet): HTML, PHP, MySQL, Word, Excel
http://www.lernpilot.de/wbt/
Re: Abfrage nicht vorhandene Einträge
am 06.06.2005 19:41:03 von alex_mx
Hmmm. Danke für den Link.
Habe auch die Left Join-Geschichte auch schon stundenlang
durchexerziert ...
select * from kategorien
left join infotexte
on kategorien.kat_id =3D infotexte.kat_id
where isnull(text)
Leider erhalte ich da immer nur eine leere Ergebnismenge. Irgendwas
stimmt da wohl nicht. Habe ich einen Denkfehler eingebaut?
Danke!
Re: Abfrage nicht vorhandene Einträge
am 06.06.2005 19:56:05 von Steffen Boehme
Versuchs doch mal mit einem:
SELECT
T1.kat_id
FROM
Kategorien AS T1
LEFT JOIN Infotexte AS T2 ON T1.kat_id = T2.kat_id AND T2.prod_id = 2
WHERE
T2.kat_id IS NULL
Dazu solltest du dir mal die Syntax-Beschreibung von Joins (insbesondere
Left Joins) anschauen ;-) ...
Vielleicht gibts auch noch nen hübscheren Weg, aber der fiel mir als
erstes ein ...
Gruß
Steffen
Ah, habe grade deinen Eintrag noch gesehen ...
Ich musste auch erst nochmal nachschauen um zu sehen, dass man auch zwei
Felder als Bedingung angeben kann ...
alex_mx@gmx.net schrieb:
> Hallo NG!
>
> Sitze hier gerade mächtigst auf dem Schlauch. Vielleicht kann mir da
> jemand mal wieder runterhelfen ... ;-)
>
> Habe 3 Tabellen: Produkte, Kategorien und Infotexte. Jedes Produkt darf
> einen Infotext in jeder Kategorie haben. 5 Kategorien --> max. 5
> Infotexte pro Produkt.
>
> Jetzt möchte ich per Abfrage herausfinden, welche Kategorien bei einem
> gegebenen Produkt noch nicht mit einem Infotext hinterlegt sind.
>
> Hier die Tabellen zur besseren Übersicht:
>
> Produkte (Info-)Kategorien Infotexte
> ----------- ------------ -----------
> prod_id kat_id info_id
> name name prod_id
> text ... kat_id
> preis text
> ... ...
>
> Hat da jemand eine Idee, wie ich zu einer Auflistung der nicht
> genutzten Kategorien pro Produkt komme?
>
> Vielen Dank schon mal im voraus. Ich hoffe, ich habe mich verständlich
> ausgedrückt.
>
> Gruß
>
>
> Alex
>
Re: Abfrage nicht vorhandene Einträge
am 06.06.2005 21:43:27 von alex_mx
Steffen: Ich danke Dir!
Du hast mir den Abend gerettet. Dachte zwar, dass ich auch diese
Möglichkeit in meinen hunderten Versuchen ;-) schon getestet hatte.
Jetzt funktionierts aber.
Dankeschön nochmal und nen schönen Abend.
Gruß
Alex