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
2238
October 13, 2010 10:55AM
2161
October 13, 2010 12:00PM
Re: left join mit case?
1402
October 13, 2010 12:37PM
1361
October 13, 2010 12:59PM
1286
October 13, 2010 01:09PM
1102
October 13, 2010 01:22PM
1140
October 13, 2010 02:51PM
1046
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.