嘿,所有的,我遇到了一個大問題,試圖找出如何去關於這個查詢我需要。硬mySQL查詢問題
我只需要顯示用戶在其帳戶中的公司,並且只顯示公司,如果他們在當天的日曆上。
我的用戶信息數據庫是這樣(只顯示需要的表信息):
ID | UserID | idNumber | theAccount
----------------------------------------
2 | 5556120012 | NA | MAIN
6 | 5556120012 | 5680012 | SUB
公司數據庫是這樣的(只顯示需要的表信息):
ID | idNumber | theDateStart | theDateEnd
-------------------------------------------
2 | 5680012 | 2010-06-02 | 2010-06-03
6 | 56057477 | 2010-06-01 | 2010-06-03
的SQL查詢我有權現在可以在選擇每個公司今天的日期時正常工作。
SELECT clientinfo.id, clientinfo.theCompName, clientinfo.theURL,
clientinfo.picURL, clientinfo.theOwnerFN, clientinfo.theOwnerLN,
clientinfo.storeNum, clientinfo.compAddress, clientinfo.compAddressC,
clientinfo.compAddressS, clientinfo.compAddressZ, clientinfo.accountStats,
clientinfo.idNumber, IFNULL(clientoffers.idNumber, 'NA'),
IFNULL(clientoffers.theDateStart, 'NA'), IFNULL(clientoffers.theDateEnd, 'NA')
FROM clientinfo
LEFT JOIN clientoffers ON (clientinfo.idNumber = clientoffers.idNumber AND '2010-06-03'
BETWEEN clientoffers.theDateStart AND clientoffers.theDateEnd), userinfo
WHERE clientinfo.accountStats = 'OPEN'
AND IFNULL(clientoffers.idNumber, 'NA') <> "NA"
GROUP BY clientinfo.idNumber
ORDER BY clientinfo.theCompName ASC
這表明所有在每個公司的日曆上都有當前事物。問題出現的地方是我不知道該查詢中添加用戶信息的位置,以確保用戶在其賬戶中有一家公司(爲了查看日曆中的內容,用戶必須將公司添加到他們的賬戶中帳戶)。
因此,如上例所示,用戶只在其賬戶中擁有公司5680012,因此只有該公司需要在查詢中顯示。如果他們有不止一個,那麼它應該顯示那麼多。
在userinfo db上,「idNumber」列是每個公司的id號。因此,在上面的示例中,該用戶帳戶中只有一家公司(第一個公司只是一個與任何公司無關的通用「主要」帳戶。)
正如您所看到的,這是一個相當困難的查詢至少對我來說),所以我希望有人能幫助我!
大衛