joins

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

  • joins




    hi ich wollte diese zwei tabellen miteinander verbinden .... also das statt spieler1_id und spieler2_id der dazu passende name aus der teilnehmer tabelle gehollt wird

    ich habs eigentlich immer so gemacht :

    PHP-Code:
    select from `spiele`,`teilnehmerwhere spiele.spieler1_id teilnehmer.id and spiele.spieler2_id teilnehmer.id 
    aber hier scheint es nicht zu klappen
    PHP-Code:
    return 0+$i

  • #2
    wenn du es dir genau anschaust, dann holst du alle DS bei denen spieler1_id = spieler2_id - und die gibt's eben nicht ;-)

    du brauchst hier SubSelects:
    PHP-Code:
    select spiele_id, [...], (
        
    select s.name 
        from spieler s
    teilnehmer n
        where s
    .spieler1_id n.id) as spieler1, (
        
    select s.name 
        from spieler s
    teilnehmer n
        where s
    .spieler2_id n.id) as spieler2
    from spiele s

    hab's jetzt nur aus dem Kopf geschrieben - musst halt noch testen
    .... hoffe mal dass es funktioniert
    [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

    [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

    [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
    (from here)

    Kommentar


    • #3
      da kommt diese meldung :
      #1242 - Subquery returns more than 1 row
      PHP-Code:
      return 0+$i

      Kommentar


      • #4
        ... tja, ich bin mir nicht mehr so sicher, dass meine Query so funktioniert

        neuer Versuch:
        PHP-Code:
        select s.spiele_id, [...], s1.id as spieler1s2.id as spieler2
        from spiele s
        inner join teilnehmer s1
            on 
        (s.spieler1_id s1.id)
        inner join teilnehmer s2
            on 
        (s.spieler2_id s2.id)
        group by s.spiele_id
        evtl. findet sich in diese Richtung eine Lösung ... bin da gerade mehr am raten
        [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

        [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

        [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
        (from here)

        Kommentar


        • #5
          funktioniert .... gut danke dir
          PHP-Code:
          return 0+$i

          Kommentar


          • #6
            np

            und nebenbei habe ich selbst auch noch dazugelernt
            [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

            [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

            [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
            (from here)

            Kommentar

            Lädt...
            X