none
Abfrage auf dem SQL Server CE mit den verknüpften Tabellen und dem letzten RS aus der n-Tabelle RRS feed

  • Frage

  • Hallo zusammen,

    Ich habe in der Haupttabelle patients Felder: Gender , Last_name, first_name, PatientID(PrimarySchl), in der zweiten Tabelle Level die Felder Level (Pflegestufe),PatID (Referenzfeld) und ID. Es sollen alle Patienten mit dem letzten Level-Stand, d.h. zuletzt erteilten Pflegestufe aufgelistet werden.

    ich habe diese Abfrage für MS SQL und sie funkt. gut:

    select a.Gender
    , a.Last_name
    , a.first_name
    , b. level
    from patients  a left outer join (select x.id
    , x.PatID
    , x. level
    from level x
    where x.id = (select max(x1.id)
                           from level  x1
                           where x1.PatID  = x.PatID )) b
    on (a.PatientID  = b.PatID )

    Nun aber benötige ich die Abfrage auch für SQL CE und da funkt. sie leider nicht. SQL Management Studio zeigt den Fehler in der unterstrichenen Zeile where x.id = (select max(x1.id)

    Wie kann die Abfrage umstellen, bzw. gibt es eine andere Abfrage, die auf den beiden Servern funktionieren würde?

    vielen Dank für euere Tips!

    Mario

    Samstag, 8. September 2012 17:36

Antworten

  • Hallo Mario,

    die genaue und vollständige Fehlermeldung wäre sehr hilfreich. Aber da ich ja nicht so gemein sein will:

    SELECT p.Gender,
           p.Last_name,
           p.First_name,
           l.Level
    FROM   Patients p
           LEFT JOIN Level l ON p.PatientID = l.PatID
    WHERE  l.ID IN ( SELECT MAX( ID ) FROM Level WHERE PatID = p.PatientID )
    

    HTH


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community


    Samstag, 8. September 2012 20:33
    Moderator