2010-10-02 66 views
1

我需要通過id連接兩個表,然後在foreach循環內訪問任何一個數據。SQL加入兩個表來訪問所有的數據

我從來沒有做過任何左連接或任何東西,所以我不知道如何開始。

名爲「sys_acl_levels_members」第一張表看起來是這樣的:

IDMember 
IDLevel 
DateStarts 
DateExpires 
TransactionID 

其他表「情景模式」有更多colums,但這裏有頭數:

ID 
NickName 
Email 

我需要幫助編寫一個SQL來收集所有這些信息,然後通過一些方法在foreach循環中訪問它。

例如,如果我想從「sys_acl_levels_members」和「NickName」獲取「DateStarts」,「DateExpires」從「Profiles」WHERE IDLevel = ID。

回答

3
SELECT acl.DateStarts, acl.DateExpires 
FROM sys_acl_levels_members acl 
LEFT JOIN Profiles p 
ON p.ID = acl.IDLevel 
+0

對不起,我是一個迷路。我只使用了更簡單的查詢。你能解釋一下這個嗎? – tmartin314 2010-10-02 19:22:00

+0

什麼是LEFT JOIN和ON? – tmartin314 2010-10-02 19:22:51

+0

LEFT JOIN將兩個表連接在一起,ON就像「WHERE」條件。像這樣讀取:「從配置文件中獲取行WHERE p.ID等於IDLevel;並且只讀取一次,如果沒有結果,則將該行中的字段視爲NULL。」 (即,即使LEFT JOIN條件不匹配,也會返回結果。) – 2010-10-02 19:24:17