我有两个表,我是从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这个名字。 –