2013-10-16 33 views
-1

當我們只知道character id時,目前我需要找到nDays如何使此查詢成爲可能?

nDays可以通過Account ID中查到,但是我們只知道Character ID,所以我們必須通過匹配CharacterIDnDays後發現第一AccountID

表:PREMIUM_SERVICE(nDays,strAccountID)

表:ACCOUNT_CHAR(strAccountID,CharID1,CharID2,CharID3)

所以,我們需要匹配表ACCOUNT_CHAR角色ID,並使用此帳戶ID,我們發現從PREMIUM_SERVICE nDays看天這個特殊帳戶ID。

我真的很想找到並構造精確的查詢,但失敗了很多次。你能告訴我怎樣才能做到這一點? 我使用MSSQL Server 2005

親切的問候。

+0

請添加一些樣本數據和預期的結果 –

回答

0

你需要一個左連接在查詢

http://www.tizag.com/mysqlTutorial/mysqlleftjoin.php

+0

好吧,但如何將是可能從CharID1,CharID2或CharID3搜索帳戶ID?由於我們只能擁有1個字符,因此我們必須從這3個字符中搜索以匹配帳戶ID。你能幫我解決這個問題應該如何構建嗎?我會很感激。 – oLdPkj

0

嘗試這樣的事情...

SELECT PS.CharID1, PS.CharID2, PS.CharID3, SUM(nDays) NumberOfDays 
FROM ACCOUNT_CHAR AC LEFT JOIN PREMIUM_SERVICE PS 
ON AC.strAccountID = PS.strAccountID 
GROUP BY PS.CharID1, PS.CharID2, PS.CharID3 
+0

謝謝,但它不是我正在尋找。我需要在ACCOUNT_CHAR中找到strAccountID,只需提供一個字符id,該id應匹配ACCOUNT_CHAR中的某處以查找strAccountID並在PREMIUM_SERVICE中使用它來查看是否有任何剩餘的nDays。 – oLdPkj

+0

你的問題是誤導性的,並不清楚你在找什麼,請重申你的問題,並顯示你想從這個查詢得到想要的結果集? –

+0

我只能提供字符ID,我需要找出它是否與ACCOUNT_CHAR中的任何3個字符匹配,並將其提供給PREMIUM_SERVICE,以便它可以顯示該字符ID有多少個nDays。 – oLdPkj