我在我的数据库中有三个表格,一个用于存储用户详细信息,一个用于存储团队详细信息,另一个用于存储用户和团队ID以识别哪个团队属于用户。如何正确使用此查询?
我现在想从DB中获取属于所选组的所有用户。而我做的是这样的:
SELECT u.name, u.image FROM groups g, user_groups ug, users u WHERE
g.id = ? AND ug.group_id = g.id
,但我没有得到结果我想要的。正如你可以在上面附加的图片看,我有两个一组的用户,所以我在我的回应期待两项纪录,但是这是我得到响应:
JSON response:
{
"error": false,
"users": [
{
"name": "Dušan Dimitrijević", // This is the user from selected group, but i'm getting duplicate record
"image": "http://192.168.42.6:8081/timster/uploads/user_images/%2018.png"
},
{
"name": "Dušan Dimitrijević",
"image": "http://192.168.42.6:8081/timster/uploads/user_images/%2018.png"
},
{
"name": "Miroslav", // And this one too, but also duplicated
"image": "null"
},
{
"name": "Miroslav",
"image": "null"
},
{
"name": "Pera Peric",
"image": "null"
},
{
"name": "Pera Peric",
"image": "null"
},
{
"name": "Marko Markovic",
"image": "null"
},
{
"name": "Marko Markovic",
"image": "null"
},
{
"name": "Stefan Dimitrijevic",
"image": "null"
},
{
"name": "Stefan Dimitrijevic",
"image": "null"
},
{
"name": "Petar Nikolic",
"image": "null"
},
{
"name": "Petar Nikolic",
"image": "null"
},
{
"name": "Nikola Ristic",
"image": "null"
},
{
"name": "Nikola Ristic",
"image": "null"
}
]
}
所以,我想我在查询SELECT中做错了什么。
名称,图像,用户,组。我不知道你在说什么。 – Strawberry
用户属于两个组,这就是为什么。如果修改查询以在结果中包含组标识,您将看到结果实际上不是重复的 – dimlucas
您应该删除'ug'表。并把你的两个人的链接放在用户数据库中。然后,你将能够执行'u.group_id = g.id'来只读取相关的团队 – tektiv