2017-05-18 14 views
-1

私はSQLで少し失われています。私は参照されたテーブルの値を取得しようとしているし、私は6テーブルを通過する必要がありますが、私は結果を取得していない。これは私のコードです:SQL SELECTクエリの関係テーブル

SELECT v.VEHICLEPLATE, p.NAME 
    FROM ITV i, VEHICLE v, BUYS b, PERSON p, CENTER c, WORKER w 
    WHERE 
    w.NICK = 'PEPE' AND 
    c.ID = w.CENTERID AND 
    v.VEHICLEPLATE = i.VEHICLEPLATE AND 
    v.VEHICLEPLATE = b.VEHICLEPLATE AND 
    p.ID = b.PERSON; 

私はPEPEが動作するITVのすべてのレコードを取得したいと思います。

誰かが私を助けたり、向きを変えたりできますか?

ありがとうございます。

SELECT v.VEHICLEPLATE, p.NAME 
FROM ITV i 
INNER JOIN VEHICLE v ON v.VEHICLEPLATE = i.VEHICLEPLATE 
INNER JOIN BUYS b ON v.VEHICLEPLATE = b.VEHICLEPLATE 
INNER JOIN PERSON p ON p.ID = b.PERSON 
INNER JOIN CENTER c --Need join condition here 
INNER JOIN WORKER w ON c.ID = w.CENTERID 
WHERE w.NICK = 'PEPE'; 

それは読み非常に簡単だし、あなたの疑問を持っている暗黙のスタイルが減価償却される:

+0

ようこそ。 [ask]を読んでテーブルのスキーマを表示し、サンプルデータと予想される出力 – OldProgrammer

答えて

1

使用明示的には、このように、あなたのテーブルの代わりに、暗黙のために参加します。

INNER JOIN CENTER Cの結合条件が不足しています。それ以上の問題があるかもしれませんが、ここから始めてください。まだ正しくない場合は、現在の結果と期待される結果をお知らせください。