phpbar.de logo

Mailinglisten-Archive

[php] Abfrage über Zwischentabelle

[php] Abfrage über Zwischentabelle

Trawell Mildor trawell.mildor at gmail.com
Do Okt 6 15:07:00 CEST 2011


Hallo zusammen

so langsam komm ich dahinter mit diesen Abfragen.

Auch wenns nu SQL ist und nicht PHP, trotzdem hier mal meine Lösung anhand
euren Tips

SELECT article.*
FROM article
LEFT JOIN shop_artikel ON shop_artikel.id_artikel =
article.id_artikel
WHERE shop_artikel.id_shop = '28'

Zeigt mir alle dazugehörigen Artiikel zum Shop 28 an.

Diese SET Funktion teste ich auch mal aus.
Gibt's da Performance Unterschiede ob herkömmlich oder SET bei so ca. bis zu
1000 Artikel pro Shop ?

Grüsse, Trawell

Am 6. Oktober 2011 10:54 schrieb A. Sauder <andre.sauder at netzwerkcenter.ch>:

> Hallo Trawell
>
> Das SQL für deine Abfrage wäre:
> SELECT tbl_artikel.*
> FROM tbl_zuordnung
> LEFT JOIN tbl_artikel ON tbl_artikel.id_artikel =
> tbl_zuordnung.id_artikel
> WHERE tbl_zuordnung.shop = '99'
> ORDER BY tbl_artikel.artikelname
>
>
> Die Zuordnungstabelle ist an und für sich keine Schlechte Idee.
> Es gibt da noch eine andere Lösung die du machen könntest:
>
>  -----------------
>  tbl_artikel
>  -----------------
>  id_artikel (pk)
>  artikelname
>   shop_id_liste   <-- Hier kommen, mit Komma getrennt, die ID der Shops
> rein (z.B. 12,45,99)
>  -----------------
>
>  -----------------
>  tbl_shops
>  -----------------
>  id_shop (pk)
>  shopname
>  -----------------
>
> Dadurch wäre die Abfrage dann:
> SELECT tbl_artikel.*
> FROM tbl_artikel
> WHERE FIND_IN_SET('99', tbl_artikel.shop_id_liste) > 0
> ORDER BY tbl_artikel.artikelname
>
>
> Gruss André
>
>
> Am 06.10.2011 10:44, schrieb Trawell Mildor:
> > Hallo zusammen
> >
> > Als völliger Neuling in diesem Thema habe ich wieder mal ne Frage
> >
> > ich habe in MySQL drei Tabellen erstellt
> >
> >
> > -----------------
> > tbl_artikel
> > -----------------
> > id_artikel (pk)
> > artikelname
> > -----------------
> >
> >
> > und hier die zweite Tabelle
> >
> > -----------------
> > tbl_shops
> > -----------------
> > id_shop (pk)
> > shopname
> > -----------------
> >
> >
> >
> > So, und nun will ich ja Artikel mit Shops verknüpfen, ich meine,
> > jeder
> > Artikel kann mehreren Shops zugeteilt werden, aber auch ein Shop kann
> > mehrere Artikel haben.
> >
> > Also hab ich eine dritte Tabelle für die Zuordnung gemacht
> >
> > die sieht so aus
> >
> >
> > -----------------
> > tbl_zuordnung
> > -----------------
> > id_zuordnung (pk)
> > id_artikel
> > id_shop
> > -----------------
> >
> >
> > in dieser Tabelle würde dann halt stehen, Artikel 1 gehört zu Shop 3,
> > Artikel 4 gehört zu Shop 99, Artikel gehört zu Shop 3 und so weiter.
> >
> > Wie sieht nun ein Abfrage Befehl aus, wenn alle Artikel von Shop 99
> > sehen
> > will ?
> >
> > Verwende ich diesen Abfrage Befehl auch für ein Update, oder Insert ?
> >
> > Danke für Eure Hilfe im voraus
> >
> >
> > Gruss, Trawell
>
> --
> ** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de **
> Informationen: http://www.phpbar.de
> http://lists.phpbar.de/mailman/listinfo/php
>

php::bar PHP Wiki   -   Listenarchive