2016-10-23 5 views
1

私はこの作業をする方法があるのだろうかと思っています。私はテーブル "どこにlie_start = '緑'"(と私は繰り返すことを望んでいない他の条件の束)を派生している、番号(といくつかの他の情報)を取得する必要があります。 さらに、追加条件lie_finish = 'holed'のエントリ数が必要です。現在、私はエラーに陥っています:テーブルmydb.x does not exist。select文のサブクエリは導出テーブルを見つけることができませんか?

SELECT 
    COUNT(*) AS total, 
    (SELECT COUNT(*) FROM x WHERE lie_finish='holed') as holed 
FROM (SELECT * FROM mydb.strokes WHERE lie_start='green') as x 

答えて

1

テーブル名を繰り返す必要があります。表の別名が認識されない:

select count(*) as total, sum(lie_finish = 'holed') as holed 
from mydb.strokes s 
where lie_start = 'green'; 

SELECT COUNT(*) AS total, 
     (SELECT COUNT(*) FROM mydb.strokes WHERE lie_finish='holed') as holed 
FROM (SELECT * FROM mydb.strokes WHERE lie_start='green') as x; 

しかし、これははるかに簡単にと書かれています

関連する問題