phpbar.de logo

Mailinglisten-Archive

[php] Abfrage �ber Zwischentabelle

[php] Abfrage �ber Zwischentabelle

Robert Hartung r.hartung at roberthartung.de
Do Okt 6 10:59:08 CEST 2011


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 


php::bar PHP Wiki   -   Listenarchive