从mysql中的同一列中选择多个元素
我目前正试图从我的数据库返回一些东西,但我没有得到我想要的东西。 我有一个查询返回以下信息:从mysql中的同一列中选择多个元素,mysql,Mysql,我目前正试图从我的数据库返回一些东西,但我没有得到我想要的东西。 我有一个查询返回以下信息: [{username: 'tupac', age: 20, popularity: 35, city: 'Paris', country: 'France', latitude: 48.8534, longitude: 2.3488, tag_id: 172 }] 但是如果tag_id列中有多个条目呢? 我能退这个吗?如果有3个tag_id,它们将返回3个对象。 那么如果tupac有3个或4个tag_
[{username: 'tupac',
age: 20,
popularity: 35,
city: 'Paris',
country: 'France',
latitude: 48.8534,
longitude: 2.3488,
tag_id: 172 }]
但是如果tag_id列中有多个条目呢?
我能退这个吗?如果有3个tag_id,它们将返回3个对象。
那么如果tupac有3个或4个tag_id链接到他,我可以有这样的东西吗
[{username: 'tupac',
age: 20,
popularity: 35,
city: 'Paris',
country: 'France',
latitude: 48.8534,
longitude: 2.3488,
tag_id: 172
tag_id: 173
tag_id: 175} ]
这是我的实际查询:
SELECT usersinfo.username, usersinfo.age,
usersinfo.popularity, userlocation.city, userlocation.country,
userlocation.latitude, userlocation.longitude , user_tags.tag_id
FROM usersinfo, userlocation, user_tags
WHERE usersinfo.sex = "f"
AND usersinfo.orientation = "s"
AND usersinfo.username = userlocation.username
AND usersinfo.username = user_tags.username
AND usersinfo.username != 'natedogg'
我一直在读一些东西,接线员“IN”或“GROUP_CONTACT”都帮不了我。也许我做错了
谢谢你的帮助 试试这个:
SELECT
usersinfo.username,
usersinfo.age,
usersinfo.popularity,
userlocation.city,
userlocation.country,
userlocation.latitude,
userlocation.longitude ,
(select group_concat(user_tags.tag_id)
from user_tags
where user_tags.username = usersinfo.username
group by username) as tag_id
FROM usersinfo
inner join userlocation on usersinfo.username = userlocation.username
WHERE usersinfo.sex = "f"
AND usersinfo.orientation = "s"
AND usersinfo.username = user_tags.username
AND usersinfo.username != 'natedogg';
请注意,我已更改了您的where子句,并添加了一个联接。尝试以下操作:
SELECT
usersinfo.username,
usersinfo.age,
usersinfo.popularity,
userlocation.city,
userlocation.country,
userlocation.latitude,
userlocation.longitude ,
(select group_concat(user_tags.tag_id)
from user_tags
where user_tags.username = usersinfo.username
group by username) as tag_id
FROM usersinfo
inner join userlocation on usersinfo.username = userlocation.username
WHERE usersinfo.sex = "f"
AND usersinfo.orientation = "s"
AND usersinfo.username = user_tags.username
AND usersinfo.username != 'natedogg';
请注意,我已更改了where子句,并添加了一个联接。在TagID列中是否有某种分隔符,如值之间的逗号或分号?是否可以发布数据架构?用户标签表和用户信息之间是否有相关字段?用户标签指的是什么?这些标记是否保存在一个单独的表中?@Sepultura是的,基本上我创建了一个表,将标记保存为“字符串”并给它们一个id,另一个表可以通过标记id引用。@DanielG否我没有任何东西。TagID列中是否有某种分隔符,比如值之间的逗号或分号?你能发布你的数据模式吗?用户标签表和用户信息之间是否有相关字段?用户标签指的是什么?这些标记是否保存在单独的表中?@Sepultura是的,基本上我创建了一个表,将标记保存为“字符串”,并给它们一个id,另一个表可以通过标记id引用。@DanielG不,我没有任何东西。我试过了,它在where子句中返回未知列“user\u tags.username”此列是否存在?当然。我的表user\u标记有:id、tag\u id和username我试过了,它在where子句中返回未知列user\u tags.username该列存在吗?当然。我的表格用户标签有:id、标签id和用户名