2017-04-17 7 views
0

私はチームメイトがDRIVERPOSITIONに基づいてチームメイトを打ち負かす回数を調べようとしていますが、私はそれを続けていますinvalid select-list in subselect私はこれを推測します。 subselectクエリ内にbaテーブル?subselectの外でテーブルを使用したSQLの副選択クエリ

サンプルデータ

RACEID CONSTRUCTORID DRIVERID DRIVERPOSITION 
970  4    826  3    
970  4    807  7 
960  4    826  4    
960  4    807  7 
970  3    820  10    
970  3    810  12 
960  3    820  13    
960  3    810  11 

望ましい結果

RACEID CONSTRUCTORID DRIVERID WINS 
970  4    826  2    
970  4    807  0 
960  3    820  1    
960  3    810  1 

私がこれまで試したどのような

SELECT 
(
SELECT COUNT(
CASE 
WHEN b.DRIVERPOSITION > a.DRIVERPOSITION THEN 1 
ELSE 0 END 
) 
FROM QUALIFYING b 
WHERE RACEYEAR = to_char(NOW(), 'YYYY') 
AND a.CONSTRUCTORID = b.CONSTRUCTORID 
AND a.RACEID = b.RACEID 
AND a.DRIVERID != b.DRIVERID 
) 
FROM QUALIFYING a 
INNER JOIN RACES 
ON a.RACEID = RACES.RACEID 
INNER JOIN DRIVERS 
ON a.DRIVERID = DRIVERS.DRIVERID 
INNER JOIN CONSTRUCTORS 
ON a.CONSTRUCTORID = CONSTRUCTORS.CONSTRUCTORID 
WHERE RACEYEAR = to_char(NOW(), 'YYYY'); 
+4

質問を編集して、(1)サンプルデータを提供してください。 (2)所望の結果; (3)使用しているデータベースのタグ。良い質問をする方法を知っておくべき十分な評判があります。 –

+0

が私の質問を更新しました。 –

答えて

1

私はこのことを考えます

しかし、私はこれがどのようにあなたの質問に合っているのか分かりません。サンプルデータは1つのテーブルを参照します。クエリには複数のテーブル参照があります。

関連する問題