select-problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • select-problem

    hallo

    ich habe ein problem mit einer select-abfrage und zwar habe ich zwei tabellen. die eine ist die mit meinen artikel.
    ihr aufbau ist:

    bild_id | bildname | kategorie| 60 x 80 | 50 x 70 | 40 x 80 | usw.

    die ersten drei spalten verstehen sich von selbst. in den spalten mit grössenangabe befindet sich jeweils eine bestellnummer oder NULL.
    die bestellnummern sind aber unterschiedlich.

    meine zweite tabelle ist die der rahmen, ihr aufbau:

    rahmen_id | rahmenart | 60 x 80 | 50 x 70 | 40 x 80 | usw.

    in dieser tabelle gibt es drei einträge unter rahmenart.
    ohne Rahmen
    incl. Rahmen
    Sonderrahmen

    in den grössenspalten stehen dan die preise der bilder für die jeweilige grösse!

    jetzt mein problem, wie lautet meine abfrage, wenn ich ein bestimmtes bild anzeigen will und als ausgabe, wenn in der tabelle artikel unter der grösse eine bestellnummer steht, der preis für erscheinen soll.

  • #2
    ich würde es so machen.

    artikel:
    - aid (artikel id)
    - rid (rahmen id)
    - bnr (bestellnummer)
    - kat (ketegorie)

    rahmen:
    - rid (rahmen id)
    - rart (rahmen art)
    - rsize (rahmen größe)
    - rprice (preis)


    in artikel hast du dann z.b sowas drin.

    - 1
    - 1 (wird aus der rahmen tab verwendet)
    - 122434
    - tische

    in rahmen hast du sowas.

    - 1
    - ohne rahmen
    - 60x80
    - 19.99

    oder

    - 2
    - mit rahmen
    - 60x80
    - 24.99


    das passende select zum auslesen sieht dann so aus.

    Code:
    SELECT  *
    FROM    artikel a
              LEFT OUTER JOIN rahmen r USING(rid)
    wenn du alles richtig gemacht hast, solltest du jetzt
    eine ausgabe sehen...

    EDIT:
    tippfehler beseitigt
    Zuletzt geändert von Abraxax; 05.05.2003, 11:43.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Code:
      SELECT b.bildname, b.60x80 bestellnummer, r.rahmenart, r.60x80 preis
      FROM bilder b, rahmen r
      WHERE b.bild_id=5
      das sollte dir für bild 5 den namen und die bestellnummer und den presi für die größe 60x80 liefern
      EDIT:
      oder die deluxe-version von Abraxax
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #4
        Original geschrieben von mrhappiness
        EDIT:
        oder die deluxe-version von Abraxax
        die eigentlich meiner meinung nach auch die sinnvollste ist. danke...

        seine tab-struktur scheint mir nämlich nicht sinnvoll zu sein. ich denke, da stimmst du mir zu ....
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          @ Abraxax

          aber dann muss ich doch jedes bild 3mal anlegen, einmal mit , einmal ohne rahmen und mit sonderrahmen.
          oder sehe ich das falsch, den die möglichkeit besteht ja immer, mit oder ohne rahmen zu bestellen, das eine schließt das andere ja nicht aus.

          Kommentar


          • #6
            in der rahmen-tabelle hast du verschiedene ausführungen, die immer vorhanden sind.

            in der artikel-tabelle hast du dann die artikel. klar. ein artikel ohne rahmen und einer mit rahmen sind zwei artikel. aber das sollte kein problem sein.

            alternativ kann man die rahmentabelle erweitern. aber nur so kannst du mit zwei tabellen sauber arbeiten. aber du hast ja eh unterschiedliche bestellnummern, was die größen angeht.

            was du gemacht hast, hatte so keinen sinn ergeben.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar

            Lädt...
            X