MySQL Forums
Forum List  »  German

Re: left join mit case?
Posted by: jens ubert
Date: October 13, 2010 12:37PM

... danke erst mal für die hinweise: werde mir das zu herzen nehmen ...obwohl ich mir die group-geschichte nochmal genauer anschauen muss ... um es wirklich zu verstehen.

aber zum eigentlichen thema: stimmt nicht ganz genau:

die Tabellen und DATEN

PRODUKTTAB
---------------------
id_produkt |hersteller_id|
3|234523|
5|23452345|

und dazu gibt es eine Produkt-Texte-Tabelle mit "Varianten":

PRODUKTTEXTTAB
---------------------
id_produkttext|produkt_id|sprach_id|variante_id|produkt_bezeichnung|produkt_beschreibung|
1|3|1|0|tee|teebeschreibung|
2|3|1|2|tee nochwas|teebeschreibung nochwas|
3|5|1|0|schoki|schokibeschreibung|

Dieses selectstatement ist jenes, das wir versuchen erfolgreich zu benutzen:
$var_variante_id=2;
select * PRODUKTTAB
left join PRODUKTTEXTTAB on PRODUKTTEXTTAB.produkt_id = PRODUKTTAB.id_produkt and PRODUKTTEXTTAB.sprach_id = $var_irgendeinesprach_id and PRODUKTTEXTTAB.variante_id = $var_variante_id
group by PRODUKTTAB.produkt;

Sollte es aber für das Produkt keinen Text mit der variante2 geben, dann soll das statement so ausgeführt werden:
select * PRODUKTTAB
left join PRODUKTTEXTTAB on PRODUKTTEXTTAB.produkt_id = PRODUKTTAB.id_produkt and PRODUKTTEXTTAB.sprach_id = $var_irgendeinesprach_id and PRODUKTTEXTTAB.variante_id = 0
group by PRODUKTTAB.produkt;

sprich: wenn es keinen Text aus variante 2 (oder irgendeiner anderen variante ausser 0) gibt, dann soll das statement auf den Text mit variante0 zurückgreifen. Variante0 hat immer einen Text.

Options: ReplyQuote


Subject
Views
Written By
Posted
2244
October 13, 2010 10:55AM
2165
October 13, 2010 12:00PM
Re: left join mit case?
1405
October 13, 2010 12:37PM
1362
October 13, 2010 12:59PM
1290
October 13, 2010 01:09PM
1104
October 13, 2010 01:22PM
1142
October 13, 2010 02:51PM
1048
October 14, 2010 03:49AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.