2016-09-22 2 views
0

Mit Sally's Pet Store-Datenbank versuche ich herauszufinden, welche Katzen länger als durchschnittliche Katzen zu verkaufen dauerte. Ich denke, dass es vielleicht wie diese beginnen sollte .....So finden Sie den Durchschnitt eines Artikels in der SQL-Datenbank

SELECT AVG (`SaleDate`) AS `Longer to Sale`.... 

aber ich verwirrt, wie die AVG zu bekommen, wenn es nichts in der Datenbank vorhanden sind, die mir sagen würde. Hier

ist die Datenbank in Access Beziehung Form, so dass jeder

enter image description here

Ich denke, sehen konnte, die nur Tabellen, die verwendet werden würde, ist: Animals, SaleAnimal, AnimalOrderItem.

Aber einige Hilfe würde auf immer dankbar dafür und vielleicht

+1

Datenabtastwert und erwartete Ergebnisse hilfreich sein würde ... – sgeddes

+0

Ich glaube, Sie receivedate von AnimalOrder und Verkaufsdatum aus dem Verkauf wie wählen ave (datediff („dd“, receivedate, Verkaufsdatum)) – Kostya

Antwort

0

Schritt 1 eine gute Erklärung sein: Was ist die durchschnittliche Zeit ist, eine Katze zu verkaufen?

DECLARE @avg INT; 

SELECT @avg = AVG(DATEDIFF(day, ao.ReceiveDate, s.SaleDate)) 
FROM Animal a 
    INNER JOIN SaleAnimal asale ON (a.AnimalID = asale.AnimalID) 
    INNER JOIN Sale s ON (asale.SaleID = s.SaleID) 
    INNER JOIN AnimalOrderItem aoi ON (a.AnimalID = aoi.AnimalID) 
    INNER JOIN AnimalOrder ao ON (aoi.OrderID = ao.OrderID) 
WHERE a.Breed = 'cat'; 

Schritt 2: Wie viele Katzen haben länger gebraucht, um zu verkaufen?

SELECT COUNT(1) 
FROM Animal a 
    INNER JOIN SaleAnimal asale ON (a.AnimalID = asale.AnimalID) 
    INNER JOIN Sale s ON (asale.SaleID = s.SaleID) 
    INNER JOIN AnimalOrderItem aoi ON (a.AnimalID = aoi.AnimalID) 
    INNER JOIN AnimalOrder ao ON (aoi.OrderID = ao.OrderID) 
WHERE a.Breed = 'cat' 
    AND DATEDIFF(day, ao.ReceiveDate, s.SaleDate) > @avg; 
+0

Leider verwenden müssen "oder" hätte "ao" sein sollen (das habe ich in meiner Antwort korrigiert). Das ist SQL-Syntax. Möglicherweise müssen Sie es für Access optimieren, aber alle allgemeinen Prinzipien sollten für Sie da sein. – jhilden

Verwandte Themen