Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] inner join oder wie ????

Einklappen

Neue Werbung 2019

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

  • Ingola
    hat ein Thema erstellt [Erledigt] inner join oder wie ????.

    [Erledigt] inner join oder wie ????

    Hallo mysql Gurus,
    kann mir hier jemand mit Joins helfen, ich verzweifel noch.
    Folgende Abfrage
    PHP-Code:
    $sql "SELECT gruppeartikel.artikel, gruppeartikel.position, artikelkurz.bezeichnung1, artikelkurz.bezeichnung2, artikelpreise.preis, artikellang.bezeichnung 
            FROM gruppeartikel, artikelkurz, artikelpreise, artikellang 
            WHERE gruppeartikel.gruppe = 
    $gruppenid 
            AND (artikelkurz.artikel = gruppeartikel.artikel AND artikelkurz.sprache = 'D')
            AND (artikellang.artikel = gruppeartikel.artikel and artikellang.sprache = 'D')
            AND    (artikelpreise.artikel = gruppeartikel.artikel AND artikelpreise.gruppe = 'EURO') ORDER BY gruppeartikel.position"

    Jetzt brauch ich aber auch noch das Feld artikellang.sprache = "E".
    Wie bekomme ich das Feld ausgelesen, ohne das die Datensätze alle dopelt erscheinen?

    Gruß Ingo

  • Capfly
    antwortet
    Vielleicht will er Platz sparen`?

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Ich habe das E nicht designt, das gibt es schon seit der Mensch schreiben kann.
    Das Wort Design – Wikipedia hat mehr Bedeutungen, als nur grafische Gestaltung.

    Für alle, es gibt in der Datenbank nur Deutsche und Englische Texte, und die kann man sehr wohl mit "D" und "E" unterscheiden.
    Es ist am Anfang immer so, dass man etwas nicht braucht. Und später dann doch und dann vor einem Problem steht. Das nennt man Designfehler (error by design). Ich sehe jetzt kein Problem, im Vorhinein darauf zu achten, normierte Sprachkürzel zu verwenden.

    Einen Kommentar schreiben:


  • Capfly
    antwortet
    Artikel != Datenbank

    Du sagtest nie, dass es was mit der DB nur im Geringsten zu tun haben könnte!

    Einen Kommentar schreiben:


  • Ingola
    antwortet
    Für alle, es gibt in der Datenbank nur Deutsche und Englische Texte, und die kann man sehr wohl mit "D" und "E" unterscheiden.

    Einen Kommentar schreiben:


  • Capfly
    antwortet
    Alter, er meint, dass du nicht siehst, welche Sprache es sein kann!

    Einen Kommentar schreiben:


  • Ingola
    antwortet
    Hallo Thomas,
    vielen Dank für deinen Vorschlag werde es nachher mal ausprobieren.

    @nikosch
    Ich habe das E nicht designt, das gibt es schon seit der Mensch schreiben kann.

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    artikellang.sprache = "E"
    Das ist doch schon im Vorfeld ein Designfehler.

    e = english
    e = spanish
    e = esperanto
    e = estonian

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zur besseren Übersicht habe ich den SQL formatiert und dann auf ANSI JOIN umgesetzt.

    Code:
    SELECT gruppeartikel.artikel,
           gruppeartikel.position,
           artikelkurz.bezeichnung1,
           artikelkurz.bezeichnung2,
           artikelpreise.preis,
           artikellang.bezeichnung
      FROM gruppeartikel
      JOIN artikelkurz
        ON artikelkurz.artikel = gruppeartikel.artikel
      JOIN artikelpreise
        ON artikelpreise.artikel = gruppeartikel.artikel
      JOIN artikellang
        ON artikellang.sprache = artikelkurz.sprache
     WHERE artikelkurz.sprache IN ('D', 'E')
       AND artikelpreise.gruppe = 'EURO'
       AND gruppeartikel.gruppe = $gruppenid
    Was Dir bisher gefehlt hat, war ein JOIN zwischen den Tabellen ARTIKELLANG und ARTIKELKURZ. Als JOIN habe ich die Spalte SPRACHE genutzt, ob dass genau stimmt weiß ich nicht. Da fehlen mir die Tabellenstrukturen.
    Zudem werden jetzt zwei Sprachen abgefragt, siehe IN ( 'D', 'E')

    Probier mal, ob es stimmt, mangels Daten kann ich nichts testen.

    Grüße
    Thomas

    Einen Kommentar schreiben:


  • ChrisB
    antwortet
    Zitat von Ingola Beitrag anzeigen
    kann mir hier jemand mit Joins helfen
    Die Artikel bei SELFHTML können:

    http://aktuell.de.selfhtml.org/artikel/datenbanken/

    Folgende Abfrage
    Die „implizite“ JOIN-Syntax, also einfach das angeben mehrere Tabellen bei FROM, solltest du vermeiden.

    Einen Kommentar schreiben:

Lädt...
X