-2

SQL Server 2008 R2 を使用しています。テーブルを結合したいのですが、常にエラーが発生します

マルチパート識別子をバインドできませんでした

私は 3 つのテーブルを持ってDriversRequestますJourney。にdriver_id外部キーがありJourneyます。これらのテーブルを結合して、3 つのテーブルすべての詳細を取得するにはどうすればよいですか??

Select driver.driver_name 
from Drivers,
     Journey 
where driver.id = journey.id 
  and driver.id=1; 
4

3 に答える 3

0

3 つのテーブルのうち 2 つだけを結合しているように見えますが、正しいですか?

これを行う適切な ANSI SQL-92 標準準拠の方法は次のとおりです。

SELECT 
    driver.driver_name 
FROM
    Drivers
INNER JOIN
    Journey ON driver.id = journey.id 
WHERE
    driver.id = 1; 

これは、句内のテーブルのリストをコンマで区切るだけでなく、 ANSI 標準( 1992 年以降- 現在では 20 年以上使用されています!)のJOIN構文INNER JOIN( LEFT OUTER JOINRIGHT OUTER JOIN、およびその他いくつかあります) を使用しています。FULL JOINFROM

Aaron Bertrand の優れたブログ記事「悪い習慣を蹴る: 古いスタイルの JOIN を使用する」も参照してください。

于 2013-05-15T12:56:35.503 に答える
0

通常、このエラーは、SELECT ステートメントで列を参照するときにエイリアスが使用され、使用されているエイリアスが SELECT ステートメントの FROM 句のどこにも定義されていない場合に発生します。
詳細については、こちらをご覧ください

于 2013-05-15T11:42:21.800 に答える
-1

ドライバー+s

Select Drivers.driver_name 
from Drivers,
     Journey 
where Drivers.id = journey.id 
  and Drivers.id=1; 
于 2013-05-15T12:05:31.050 に答える