2017-05-28 14 views
0

私は、 "patient"と "donor"という名前の2つの異なるテーブルをMySQL上に持っています。私は患者の年齢とドナーの年齢の平均を計算したいと思います。MySQLの2つの異なるテーブルから平均を計算するには?

私は、MySQL上でこのクエリを実行しています:

SELECT AVG(patient_age) AS patient_age_avg FROM patient JOIN (SELECT 
AVG(donor_age) AS donor_age_avg FROM donor); 

をそして、それは私に、このエラーが返されます。

私はミスをしています

Error Code: 1248. Every derived table must have its own alias

答えて

0

だけSELECTで2つのサブクエリを使用します。

SELECT (SELECT AVG(patient_age) FROM patient) as patient_age_avg, 
     (SELECT AVG(donor_age) FROM donor) as donor_age_avg; 

それとも、あなたが本当に好きなら、FROM句でそれらを入れてCROSS JOINを使用します。

SELECT p.patient_age_avg, d.donor_age_avg 
FROM (SELECT AVG(patient_age) as patient_age_avg FROM patient 
    ) p CROSS JOIN 
    (SELECT AVG(donor_age) as donor_age_avg FROM donor 
    ) d; 

私は少し最初の方法を好みます、なぜなら私はテーブルのエイリアスを作成する必要はないからです。しかしそれは実際にはマイナーなマイナーなマイナーな考察です。

+0

ありがとうございました!私はちょうど最初のクエリを適用し、それは動作します!ありがとうございました。 – Katzenliebe

関連する問題