ID:

2016-06-15 11 views
1

のAVG、MIN、MAX、SUMの検索私は、Tiddlesの猫 'P0001'と獣医Trevor McCaffertyの訪問の平均、最小、最大、 VO4 'である。これはペットと訪問の2つのテーブルから引き出されます。ID:

ペットテーブル構造:

pet_id, Name, Type, Breed, Gender, Born, owner_id, Notes 

ログインテーブル構造:以下

visit_id, pet_id, vet_id, Visit_Date, Basic_Cost, Symptom, Treatment 

は、私がこれまでに作成したコマンドですが、私はあるこれを正しくやっている場合、私はわからないんだけどなぜ私は助けが必要です。

SELECT Name, Type, AVG(Basic_Cost), MIN(Basic_Cost), MAX(Basic_Cost), SUM(Basic_Cost) 
FROM visit, pet 
WHERE pet_id = 'P0001' AND vet_id = 'V04'; 

質問がありましたら、私は困惑しています。

+0

あなたが得るエラーメッセージは非常に何をするかを説明しますことを私は想像します。症状/エラーメッセージとは何ですか? –

+0

GROUP BYの名前を追加する必要があります。タイプが – Chuck

+0

です。JOIN操作に構文エラーがあります。 – DAN212

答えて

0

は、私はあなたがおそらく訪問やペットのテーブルを結合する必要があります。また

SELECT pet.Name, pet.Type, AVG(Basic_Cost), MIN(Basic_Cost), MAX(Basic_Cost), SUM(Basic_Cost) 
FROM visit, pet 
where visit.pet_id = pet.pet_id 
and visit.pet_id = 'P0001' 
and visit.vet_id = 'V04' 
GROUP BY pet.Name, pet.Type; 

GROUP BYが欠けていると思う

+0

私はGROUP BYを追加しましたが、 'pet_idがSQL文のFROM句の複数のテーブルを参照できるという指定されたフィールド'というエラーが表示されます。しかし、どのテーブルにリンクする必要がありますか? – DAN212

+0

テーブルの別名を使用 –

+0

@ DAN212:回答を更新しました – vercelli

1
SELECT FIRST(pet.Name) AS PetName, 
    FIRST(pet.Type) AS PetType, 
    AVG(Basic_Cost) AS AverageCost, 
    MIN(Basic_Cost) AS MinCost, 
    MAX(Basic_Cost) AS maxCost, 
    SUM(Basic_Cost) AS TotalCost 
FROM visit 
    INNER JOIN pet ON visit.pet_id = pet.pet_id 
WHERE visit.pet_id = 'P0001' 
    AND visit.vet_id = 'V04'