basi: sql-Brett

Hi, hab gerade n brett vorm kopf - die lösung ist sicher einfach:

ich hab zwei Tabellen:
prodb und proelement

in prodb:
pro_nr (als primärschlüssel)
pro_folder (verzeichnispfad als text)

in proelement gibt es (u.a.):
pro_ele_nr (als primärschlüssel)
pro_nr (als fremdschlüssel)
pro_ele_folder (verzeichnispfad als text)

  • in pro_ele_folder steht das unterverzeichnis zu pro_folder.

So, beim auslesen eines formulars bekomme ich pro_ele_nr als variable  $whichFolder.

Das Verzeichnis pro_ele_folder auslesen ist dann ja kein ding:

"SELECT pro_ele_folder FROM proelement WHERE pro_ele_nr = $whichFolder"

  • jetzt will ich das Verzeichnis darüber aus der Tabelle prodb auslesen:

"SELECT pro_folder FROM prodb WHERE prodb.pro_nr = UND HIER?"

muss ich für UND HIER? erst einen extra SELECT machen:
"SELECT pro_nr FROM proelement WHERE pro_ele_nr = $whichFolder"
und das ergebnis dann oben einsetzen? oder geht das auch einfacher - ich komm einfach nicht drauf.

gruß, basi

  1. Hallo basi,

    hab gerade n brett vorm kopf - die lösung ist sicher einfach:

    Das hast Du wirklich. ;-)

    "SELECT pro_folder FROM prodb WHERE prodb.pro_nr = UND HIER?"

    Die Lösung ist.... Gar nichts! Du willst doch den SELECT gar nicht einschränken, oder?

    Grüße,

    Christian

    1. Das hast Du wirklich. ;-)

      Hehehe...verzeih, es ist schon später am Abend ;)

      "SELECT pro_folder FROM prodb WHERE prodb.pro_nr = UND HIER?"

      Die Lösung ist.... Gar nichts! Du willst doch den SELECT gar nicht einschränken, oder?

      Ich muss ihn doch einschränken, weil ich nur den pro_folder-eintrag haben will, bei dem prodb.pro_nr auch proelement.pro_nr entspricht - es soll ja nur der pfad entstehen: pro_folder/pro_ele_folder/
      Dann muss doch bekannt sein, welcher Eintrag in prodb ausgelesen wergen soll...?

      Grüße,

      Christian

      1. Hallo basi,

        Das hast Du wirklich. ;-)

        Hehehe...verzeih, es ist schon später am Abend ;)

        Ooops - jetzt merke ich gerade, dass ich auch eines vorm Kopf hatte... ;)

        "SELECT pro_folder FROM prodb WHERE prodb.pro_nr = UND HIER?"

        Ich muss ihn doch einschränken, weil ich nur den pro_folder-eintrag haben will, bei dem prodb.pro_nr auch proelement.pro_nr entspricht - es soll ja nur der pfad entstehen: pro_folder/pro_ele_folder/
        Dann muss doch bekannt sein, welcher Eintrag in prodb ausgelesen wergen soll...?

        Klar...

        SELECT prodb.pro_folder as pro_folder, poelement.pro_ele_folder as pro_ele_folder FROM prodb, proelement WHERE prodb.pro_nr = proelement.pro_nr AND proelement.pro_ele_nr = wasweißich

        Du musst die Tabellen Verknüpfen.

        Grüße,

        Christian

        1. Danke schön!
          Die Bretter können wir bei Gelegenheit ja mal austauschen... ;)

          Schönen Abend noch
          basi

        2. Hi ihr Zwei,

          wartets ab, bis wir in unserem kleinen Projekt ab nächste Woche mit unseren SQL-Brettern kommen... *gg*

          <img src="http://bitworks.de/~tschmieder/brett02.jpg" border=0 alt="">

          War das nicht auch ein Fall für DISTINCT?

          Liebe Grüße

          Tom

          1. Hallo Thomas,

            War das nicht auch ein Fall für DISTINCT?

            Nein, wie kommst Du denn darauf - es gibt ja keine doppelten Datensätze - die IDs sind eindeutig.

            Grüße,

            Christian