+ Antworten
Ergebnis 1 bis 5 von 5

Thema: Verschachtelte Datenbankabfrage?

  1. #1
    TP-Junior Silverhawk macht alles soweit korrekt
    Registriert seit
    Sep 2004
    Beiträge
    10

    Verschachtelte Datenbankabfrage?

    Hi,

    ich habe folgendes Problem.
    Aus Tabelle 1 sollen die Daten x,y geholt werden. In Abhängigkeit von y aus Tabelle 1, sollen die Daten w,z aus Tabelle 2 geholt werden.

    Bsp.:

    $query = "SELECT * FROM Master_Kategorien";
    $result=mysql_query($query);
    while ($daten=mysql_fetch_array($result, MYSQL_ASSOC))
    {
    $KatIndi=$daten[Ma_Kat_ID];
    echo $daten[Bezeichnung]." ".$KatIndi."<br>";

    // $query = "SELECT * Kategorien WHERE Ma_Kat_ID=$KatIndi LIMIT 0 , 1";
    // $result=mysql_query($query);
    // while ($daten=mysql_fetch_array($result, MYSQL_ASSOC))
    // {
    // echo $daten[Kat_ID]."<br>";
    // }

    }

    Naja das war mein Lösungsansatz der natürlich nicht funktionierte, aber ehrlich, soweit hatte ich mich bisher auch noch nie in MySql ran gewagt.

    Es soll aus Tabelle 2 nur immer der die erste Spalte abgefragt werden, der zum entsprechenden y Wert der Tabelle 1 gehört.

    Kann mir bitte jemand weiterhelfen?

    Gruss
    Silver

  2. #2
    Guest Strogij hilft, wo's geht Strogij hilft, wo's geht
    Registriert seit
    Aug 2002
    Beiträge
    2.233
    Hier wäre ein JOIN optimal. Siehe LEFT JOIN.

  3. #3
    TP-Junior Silverhawk macht alles soweit korrekt
    Registriert seit
    Sep 2004
    Beiträge
    10
    Danke, hab ich nun probiert.

    $query = "SELECT * FROM Master_Kategorien LEFT JOIN Kategorien ON Master_Kategorien.Ma_Kat_ID=Kategorien.Ma_Kat_ID";
    $result=mysql_query($query);
    while ($daten=mysql_fetch_array($result, MYSQL_ASSOC))
    {

    Dann bringt er mir aber einen php Fehler, in folgender Zeile.

    echo $daten[Bezeichnung]." "$daten[Ma_Kat_ID]." ".$daten[Kat_ID]."<br>";

    Parse error: parse error, expecting `','' or `';

    Zudem ist das Problem, das er bei folgender Abfrage:

    $query = "SELECT * FROM Master_Kategorien LEFT JOIN Kategorien ON Master_Kategorien.Ma_Kat_ID=Kategorien.Ma_Kat_ID";
    $result=mysql_query($query);
    while ($daten=mysql_fetch_array($result, MYSQL_ASSOC))
    {
    $KatIndi=$daten[Ma_Kat_ID];
    echo $daten[Bezeichnung]." ".$KatIndi."<br>";
    }

    noch Mehrfachausgaben angezeigt werden. Da ja in der Tabelle 2, die Ma_Kat_ID mehren Kategorien zugeordnet ist.
    Er soll aber je nur eine Ma_Kat_ID anzeigen, mit jeweils der ersten zugeordneten Kategorie aus Tabelle 2.

    Gruss
    Silver
    Geändert von Silverhawk (12.10.2004 um 16:22 Uhr)

  4. #4
    TP-Supporter Judi macht alles soweit korrekt
    Registriert seit
    Apr 2001
    Beiträge
    314
    Hallo,

    versuch es doch mal alternativ mit dem inner join.

    Wenn Du nur immer einen Datenstatz pro ID aufrufen möchtest, dann solltest Du es mit dem distinct probieren. Hierfür müssen aber die zusammengefügten Datensätze alle den gleichen Wert haben

    select distinct a.bezeichnung, a.katid from...

    Ist das nicht der Fall, würde es mit einem Subselect funktionieren, aber da weiss ich nicht, ob Deine mySQL-Version dies schon unterstützt.

    Noch eine Möglichkeit wäre, immer dem 1. Datensatz mit der Kategorie, die hinzugefügt wird, in einer gesonderten Spalten eine Wert mitzugeben, z.b. 1. In dem Falle wäre es ja ein leichtes, nur immer einen pro Kategorie zu selectieren.

    Hier würde ich noch einen Punkt vor $daten[Ma_Kat_ID] setzen.

    echo $daten[Bezeichnung]." ".$daten[Ma_Kat_ID]." ".$daten[Kat_ID]."<br>";
    Liebe Grüße, die Judi!

  5. #5
    TP-Junior Silverhawk macht alles soweit korrekt
    Registriert seit
    Sep 2004
    Beiträge
    10
    Danke für die Tips, hab ich probiert, nun funktioniert es wie gewünscht

    Gruss
    Silver

+ Antworten

Ähnliche Themen

  1. verschachtelte Tabellen
    Von Pixelmaster im Forum HTML & CSS
    Antworten: 2
    Letzter Beitrag: 21.03.2004, 20:05
  2. verschachtelte tabelle?
    Von g e k k o im Forum HTML & CSS
    Antworten: 4
    Letzter Beitrag: 21.02.2004, 14:00
  3. Alte DW4-Vorlage -> MX-Vorlage / optionaler Bereich / verschachtelte Vorlage
    Von uwe.h im Forum Dreamweaver & andere Webeditoren
    Antworten: 2
    Letzter Beitrag: 14.11.2002, 15:18
  4. verschachtelte ebene im mac
    Von werberater im Forum Dreamweaver & andere Webeditoren
    Antworten: 0
    Letzter Beitrag: 06.03.2002, 10:18
  5. eine oder verschachtelte Tabellen
    Von Parisienne im Forum Fireworks
    Antworten: 16
    Letzter Beitrag: 23.01.2002, 15:21

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51