JOIN Datenfelder aus 1. Tabelle vergleichen

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

  • JOIN Datenfelder aus 1. Tabelle vergleichen

    Hallo,

    ich habe ein kleines Problem,

    ich habe 2 Tabellen die ich mit folgender Abfrage aufrufe:

    PHP-Code:
      SELECT [agvip].[dbo].[tblAS0002_PJ0017].Id,[agvip].[dbo].[tblAS0002_PJ0017].Ergebnis_Phase1,
    [
    agvip].[dbo].[tblAS0002_PJ0017].IdAddress,[agvip].[dbo].[tblAS0002].CommPhoneCentral
      FROM 
    [agvip].[dbo].[tblAS0002_PJ0017
      
    LEFT JOIN [agvip].[dbo].[tblAS0002
      
    ON ([agvip].[dbo].[tblAS0002_PJ0017].IdAddress = [agvip].[dbo].[tblAS0002].Id
      
    WHERE [agvip].[dbo].[tblAS0002_PJ0017].Ergebnis_Phase1 IS NULL 
    Ich brauche aber alle Datensätze wo die Telefonnummer aus der Tabelle tblAS0002 gleich ist, also habe ich die Abfrage erweitert.

    PHP-Code:
      SELECT [agvip].[dbo].[tblAS0002_PJ0017].Id,[agvip].[dbo].[tblAS0002_PJ0017].Ergebnis_Phase1,
    [
    agvip].[dbo].[tblAS0002_PJ0017].IdAddress,[agvip].[dbo].[tblAS0002].CommPhoneCentral
      FROM 
    [agvip].[dbo].[tblAS0002_PJ0017
      
    LEFT JOIN [agvip].[dbo].[tblAS0002
      
    ON ([agvip].[dbo].[tblAS0002_PJ0017].IdAddress = [agvip].[dbo].[tblAS0002].Id
      
    WHERE [agvip].[dbo].[tblAS0002_PJ0017].Ergebnis_Phase1 IS NULL
      
    AND [agvip].[dbo].[tblAS0002].CommPhoneCentral = [agvip].[dbo].[tblAS0002].CommPhoneCentral
    Das geht aber leider so nicht, hat jemand nen Tip wie ich nur die doppelten Telefonnummern finde ?

    Es ist ne MSSQL DB

    Gruß und danke
    Jan
    Zuletzt geändert von asp2php; 14.03.2008, 10:32.

  • #2
    mit group by und having count bekommst du die Doppeleinträge raus, nunn muss du geschickt kombinieren.

    btw.: was hälst du von alias? nicht viel was

    Kommentar


    • #3
      Naja, es ist halt so das ich das problem inner halben stunde gelöst haben wollte und einfach eben die zutreffenden Datensätze per PHP inne DUMP Tabelle verschieben wollte. Daher die Feldbezeichnungen.

      Kommentar


      • #4
        Ich brauch aber diese Datensätze und will diese nicht ausfiltern. Ich brauche alle Datensätze wo die Telefonnummer aus der tblAS0002 mit einer anderen aus dieser Tabelle übereinstimmt. Dazu muss dann auch noch diese ID in der tabelle tblAS0002_PJ0017 vorkommen.

        Kommentar


        • #5
          Original geschrieben von Skrok
          Ich brauche alle Datensätze wo die Telefonnummer aus der tblAS0002 mit einer anderen aus dieser Tabelle übereinstimmt. Dazu muss dann auch noch diese ID in der tabelle tblAS0002_PJ0017 vorkommen.
          Das mit den Doppelten hat dir asp2php ja schon geschrieben
          Ersetze noch den LEFT JOIN durch einen INNER JOIN (oder wie der dann bei MSSQL auch heisst), und schon solltest du das richtige Resultat erhalten.
          Also so etwa (MySQL-Syntax):
          PHP-Code:
          SELECT 
              t
          .tel_nr
          FROM 
              tel_tab t
          INNER JOIN    
              andere_tel_tab a ON t
          .tel_id a.tel_id
          GROUP BY 
              t
          .tel_nr
          HAVING
              COUNT
          (t.tel_nr) = 2
          Gruss
          H2O

          Kommentar

          Lädt...
          X