我陷入了一個奇怪的境地。它是這樣的:艱難的mySQL select查詢
我有2個表格。一個被稱爲用戶,其中有我所有的用戶/密碼的詳細信息,然後我有另一個名爲userFiles的表,其中有一個用戶ID和文件ID,他有權訪問的文件。
現在請注意,1個帳戶可以擁有多個文件的權限,多個帳戶可以擁有1個文件的權限。
所以基本上,第一臺都有,說:
- ID:1,名稱:鮑勃,密碼:helloWorld的
- ID:2,姓名:Phil,密碼:what'sUp?
和表2中,說:
- UID:1,fID的:67
- UID:1,fID的:68
- UID:1,fID的:36
- UID :2,fID的:67
- UID:2,fID的:68
- UID:2,fID的:102
現在,這是我想要做的:
我想選擇所有的用戶! (在這種情況下都是!),另外,我想加入另一個表,但我只想加入指定特定fID的行!
例如,我想爲用戶和用戶查詢中FID 67
好吧,我想獲得這樣的:
- ID:1,名稱:鮑勃,密碼:helloWorld的,UID:1,fID的:67
- ID:2,姓名:Phil,密碼:what'sUp ?, UID:2,fID的:67
,並且對於fID的102(即使它給NULL以外的值,即我可以在我的PHP代碼中使用,沒關係)
- ID:1,名稱:鮑勃,密碼:的helloWorld,UID:NULL,fID的:NULL
- ID:2,姓名:Phil,密碼:what'sUp ?, UID:2,fID的:102
這是我所使用
SELECT * FROM users LEFT JOIN userFiles ON users.ID=userFiles.uID WHERE userFiles.fID = 102
然而,這個查詢只返回一行試一下查詢,而我wan't兩者。
如果你不能給我一個MySQL的解決方案,試圖幫助我,讓我可以過濾掉的結果,並獲得像什麼,我想用PHP ...
由於一噸!
在循環中嘗試mysqli :: fetch_array。 fetch_array一次只返回一個。 – Shane