我有兩個表,我是從MySQL的使用加入加入時不匹配的行
ATM
[ID] [業主] [平衡] [狀態]
繪圖數據返回數據ATMAvatar
[ATMID] [阿凡達] [管理員] [允許] [有限公司] [限於]
我現在的查詢是
SELECT ATM . * , ATMAvatar.Avatar AS User, ATMAvatar.Admin,
ATMAvatar.Allowed, ATMAvatar.Limited, ATMAvatar.Limit,
(SELECT COUNT(*) FROM ATMAvatar WHERE ATMID = '{SOME ATM ID}') AS UserCount
FROM ATM
JOIN ATMAvatar ON ATM.ID = ATMAvatar.ATMID
WHERE ATM.ID = '{SOME ATM ID}'
AND ATMAvatar.Avatar = '{SOME NAME}'
如果ATMAvatar和ATM都有相對的行,那麼這樣做會很好。我希望能夠將其轉換,以便在ATMAvatar行無法找到的情況下,ATM仍然會被選定爲任何ATMAvatar列的默認值。
對於實施例
- ID:d7dafb52-bc31-4f38-a433-7c273b345454
- 擁有者:湯姆漢森
- 餘額:
- 狀態:0
- 用戶:詹姆斯McCrawford(從查詢中獲得)作爲行不會返回
- 管理員:0(行不可用,所以不能成爲管理員)
- 允許:0(行不可用,因此不能被允許)
- 有限公司:1(行不可用,因此肯定限制)
- 限制:0(行不可用,因此僅限於$ 0)
- USERCOUNT位:15
我會很高興,如果它只是返回空行,我可以檢查在PHP中。
編輯 我的問題是我搜索詹姆斯麥克勞福德在選擇不包含他的行。我想我需要重新考慮查詢的結構
James McCrawford的ATMID是什麼?和par UserCount一樣,ATMAvatar表中有15條記錄(ID:d7dafb52-bc31-4f38-a433-7c273b345454)。 – Conqueror
這個例子中的信息都是模擬信息。只是一個例子。 James McCrawford是試圖使用ATM的人的名字。數據庫中沒有atm這個名字。 –