Announcement

Collapse
No announcement yet.

datenbank auslesen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • datenbank auslesen

    nun hab ich noch eine frage und zwar hab ich zwei tabellen über nen fremdschlüssel verbunden

    vehicle:
    VID - SalesDate

    und

    claim

    CID-ClaimDate-Cost-mileage-VID
    Code:
    SELECT VID , DATEDIFF(claim.ClaimDate, vehicle.SalesDate), mileage, SUM(ClaimCost)  
    FROM vehicle , claim WHERE vehicle.VID = claim.V_ID AND DATEDIFF(claim.ClaimDate, vehicle.SalesDate)>0 GROUP BY ClaimDate, V_ID;
    alle vehicle mit salesdate < claimdate und falls claims am gleichen tag aufsummierten costen aufrufen. dazu hätte ich die aber gern nach VID und ClaimDate sortiert und zusätzlich noch die vehicles die gar kein claim besitzen. also die nur in tabelle vehicle vorkommen!

  • #2
    Originally posted by klaus_juergen View Post
    nun hab ich noch eine frage und zwar hab ich zwei tabellen über nen fremdschlüssel verbunden

    vehicle:
    VID - SalesDate

    und

    claim

    CID-ClaimDate-Cost-mileage-VID
    Code:
    SELECT VID , DATEDIFF(claim.ClaimDate, vehicle.SalesDate), mileage, SUM(ClaimCost)  
    FROM vehicle , claim WHERE vehicle.VID = claim.V_ID AND DATEDIFF(claim.ClaimDate, vehicle.SalesDate)>0 GROUP BY ClaimDate, V_ID;
    alle vehicle mit salesdate < claimdate und falls claims am gleichen tag aufsummierten costen aufrufen. dazu hätte ich die aber gern nach VID und ClaimDate sortiert und zusätzlich noch die vehicles die gar kein claim besitzen. also die nur in tabelle vehicle vorkommen!
    Wie wärs mit
    a) ORDER BY
    b) mit explizitem (Left)-Join
    c) Aliasen

    also ungefähr so
    [HIGHLIGHT="SQL"] SELECT V.VID
    , DATEDIFF(c.ClaimDate, v.SalesDate)
    , C.mileage
    , SUM(C.Cost)
    FROM vehicle AS V
    LEFT JOIN claim AS C ON V.VID = C.V_ID
    AND DATEDIFF(c.ClaimDate, V.SalesDate)>0
    GROUP BY DATEDIFF(c.ClaimDate, v.SalesDate)
    , C.mileage
    , V.VID
    ORDER BY V.VID
    , C.ClaimDate[/HIGHLIGHT]

    Comment


    • #3
      vielen danke!
      aber die vehicle die keinen claim besitzen sind da noch nicht dabei, oder?

      Comment


      • #4
        könnte ich nun noch die vehicle total ausschliesen, die bei steigendem alter (datediff) eine fall mileage anzahl aufweisen. entweder gleich aus der datenbank löschen, oder per select nicht aufrufen?

        Comment

        Working...
        X