wenn feld nicht leer, dann daten aus zusätzlicher Tabelle

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

  • wenn feld nicht leer, dann daten aus zusätzlicher Tabelle

    Habe zwei Tabellen:

    1) user
    u_id/name/password
    2) adressen
    a_id/u_id/name/ort

    jetzt will ich also alle aus adressen auslesen. allerdings kann es sein, dass dort kein name angegeben ist, sondern die u_id. in dem Fall möchte ich dann den namen aus der user-Tab holen.

    Das sollte ja kein Prob sein. Ich würde dafür irgenwie was mit ISNULL machen. Habe aber hier im Forum (http://www.php-resource.de/forum/sho...threadid=18527) gelesen, dass man NULL nicht verwenden sollte.

    Mach ich dann einfach ein == '' an, oder kann ich da mit ner FKT überprüfen?

  • #2
    Code:
    select if(a.name!='',a.name.u.name) from adressen a inner join user u using (u_id)
    oder is bei den einträgen in adressen, bei denen der name nicht leer is das feld u_id leer?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      spontan würde ich hier sagen, dass name in user NULL sein darf.

      Code:
      SELECT    a.a_id,
                IF(ISNULL(a.name),u.name,a.name) name,
                a.ort
                
      FROM      adressen a
                  LEFT OUTER JOIN user u USING (u_id)
      anderenfalls könnte man es auch so machen, wenn a.name = '' ist.

      Code:
      SELECT    a.a_id,
                IF(a.name='',u.name,a.name) name,
                a.ort
                
      FROM      adressen a
                  LEFT OUTER JOIN user u USING (u_id)
      EDIT:
      grrrrr @happy
      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


      • #4
        [neugier]
        warum left outer und nich inner?
        [/neugier]
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          jupp, also entweder oder. und wenn der name leer ist, dann soll der den aus der user-tab holen.

          user:
          1/happy/day
          2/tobi/test

          adressen:
          1/2//MG
          2//Abraxax/Home
          3/1//Brücke

          Kommentar


          • #6
            dann sollte abraxax' join der angebrachtere sein
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              jupp, ich denke das kommt hin.

              warum darf ich denn doch NULL benutzen? Weil meine Tabelle so klein ist?

              Kommentar

              Lädt...
              X