Mailinglisten-Archive |
Hallo, das kannst du sehr wohl machen ;-) PK geht sogar über mehrere Tabellenspalten! -----Ursprüngliche Nachricht----- Von: php-bounces at phpbar.de [mailto:php-bounces at phpbar.de] Im Auftrag von Trawell Mildor Gesendet: Donnerstag, 6. Oktober 2011 15:13 An: deutschsprachige PHP-Mailingliste Betreff: Re: [php] Abfrage über Zwischentabelle Hallo Robert. Wie soll das gehen, zwei Felder mit PK ? Ich kann doch nur ein Datenfeld als PK definieren ? Gruss, Trawell Am 6. Oktober 2011 10:59 schrieb Robert Hartung <r.hartung at roberthartung.de> : > Hallo Trawell, > > Die Zuordnungtabelle könnte auch der Einfachheit halber nur artikel + > shop_id (beide im PK) beinhalten. Das ist noch besser! So verhinderst du > doppelte Zuordnungen! > > ansonsten hat André mit der Abfrage schon recht. > > Ansonsten müsstest du bei Andrés Lösung den Spaltentyp von Integer / > Varchar > zu "SET" ändern. > > Grüße > Robert > > -----Ursprüngliche Nachricht----- > Von: php-bounces at phpbar.de [mailto:php-bounces at phpbar.de] Im Auftrag von > A. > Sauder > Gesendet: Donnerstag, 6. Oktober 2011 10:55 > An: deutschsprachige PHP-Mailingliste > Betreff: Re: [php] Abfrage über Zwischentabelle > > 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 > > ----- > eMail ist virenfrei. > Von AVG überprüft - www.avg.de > Version: 10.0.1410 / Virendatenbank: 1520/3940 - Ausgabedatum: 05.10.2011 > > -- > ** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de ** > Informationen: http://www.phpbar.de > http://lists.phpbar.de/mailman/listinfo/php > -- ** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de ** Informationen: http://www.phpbar.de http://lists.phpbar.de/mailman/listinfo/php ----- eMail ist virenfrei. Von AVG überprüft - www.avg.de Version: 10.0.1410 / Virendatenbank: 1520/3940 - Ausgabedatum: 05.10.2011
php::bar PHP Wiki - Listenarchive