簡體   English   中英

vb.net INNER聯接3個表:其他信息:關鍵字“ on”附近的語法不正確

[英]vb.net INNER Join 3 tables: Additional information: Incorrect syntax near the keyword 'on'

語法有什么問題。 我試圖做INNER JOIN 3表,但我收到以下錯誤消息

附加信息:關鍵字“ on”附近的語法不正確。

SELECT train.id,
       train.class_id,
       train.type_id,
       train.m_year,
       train_type.type,
       train_type.avarage_speed,
       train_class.class,
       train_class.capacity
FROM   train
       INNER JOIN 
            ON  train.class_id = train_class.id
            AND train.type_id = train_type.id

您在使用INNER JOIN時錯過了第二張和第三張桌子。

INNER JOIN <Table 2> on train.class_id = train_class.id
INNER JOIN <Table 3> on train.type_id = train_type.id

您的聯接中有語法錯誤 join的語法如下:

SELECT column_name(s)
FROM table1
JOIN table2
ON table1.column_name=table2.column_name;

因此,您的查詢將如下所示:

 " SELECT train.id, train.class_id, train.type_id, train.m_year, train_type.type," & _
 " train_type.avarage_speed, train_class.class, train_class.capacity FROM train" & _
 " INNER JOIN train_class on train.class_id = train_class.id " & _
 " INNER JOIN train_type on train.type_id = train_type.id"

您將三個表用於JOIN,但未正確提及JOIN

JOIN語法

(table1 INNER JOIN table2 ON table1.ID = table2.ID) INNER JOIN table3 ON table1.ID = table3.ID

您的查詢應該是這樣的

SELECT train.id,
   train.class_id,
   train.type_id,
   train.m_year,
   train_type.type,
   train_type.avarage_speed,
   train_class.class,
   train_class.capacity
FROM (train
   INNER JOIN train_class
   ON train.class_id = train_class.id)
   INNER JOIN train_type ON train.type_id = train_type.id

您缺少語法,表名,您的代碼必須類似於:

SELECT train.id,
    train.class_id,
    train.type_id,
    train.m_year,
    train_type.type,
    train_type.avarage_speed,
    train_class.class,
    train_class.capacity
FROM train
    INNER JOIN train_class
ON  train.class_id = train_class.id
    AND train.type_id = train_type.id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM