2017-05-10 29 views
-1

我可以在我的考試項目中使用一些幫助,我的SQL查詢有一個問題,用於根據他們所在的公會(ID)獲取志願者列表(ID),這是一個多對多關係,並決定使用'Inner Join'來告訴我的java程序id是什麼=彼此,但是當我運行它,它給了我錯誤'com.microsoft.sqlserver.jdbc.SQLServerException:索引1出範圍「。這是否意味着我試圖顯示的列表是空的?任何直接的想法?我的查詢有問題嗎?我是否使用Inner錯誤地加入?

這是許多人在圖3個表之間一對多的關係:使用內部連接語句,因此有可能是一個第一次

This is the many to many relationship between the 3 tables in diagram

的查詢來獲取基於行業協會的志願者,錯誤在這裏,我忽略了, The query to get the volunteer based on guild, first time using the Inner Join statement, so there might be an error here I have overlooked

+0

請不要使用不適用於您的問題的標籤。我刪除了數據庫標記,因爲它不清楚你實際使用了哪一個。請僅添加*標籤*您實際使用的數據庫 –

+0

此外,代碼,錯誤,預期結果,樣本數據等應該包含在問題本身中,而不是作爲可能消失的鏈接,並使問題對其他人無用。 –

+0

這是建議,但我看到,感謝您的更正。 –

回答

1

看起來你需要一些更多的空間在你串聯的字符串的開始/結尾。

您還需要使用它們之間的逗號來選擇列,而不是使用and

例如select firstname, lastname ...而不是select firstname and lastname ...

+0

不知道連接是什麼意思,但是謝謝你的逗號提示,並沒有改變輸出,儘管 –

+0

@JesperEnemark你在哪裏_將字符串加上「 ....「+」...「 – SqlZim

+1

@JesperEnemark例如'SELECT'SQL'+'Server'',這是一個串聯。 – Sami

0

'?'在WHERE語句被認爲是SQL中的一個字符串,並且由於沒有字符串'questionmarks'的GuildName,它試圖在GuildName列中找到一個字符串,其中有一個字符串導致列表爲空。由於Volunteer和Inner之間沒有間隔,所以字符串的連接也是不正確的。修復。感謝您的回覆。