我有4张桌子:
登录,其中包含用户ID,姓名,通行证,电子邮件列
phyinfo ,包含用户ID,身高,肤色,种族,性别,体型的列
loc ,其中包含用户ID,国家/地区,州,城市列
和
使用列userid,具有技能值索引(以逗号分隔)的技能列表技能
现在我想按所有人搜索用户(例如: height = 5'21“+ gender = male + country = india + skills = design )
我不知道如何使这个混合查询返回匹配条件的用户ID。请帮忙
这是我到目前为止所尝试的查询:
SELECT userid
FROM phyinfo
WHERE height='5\'21"' AND gender='male'
UNION
SELECT userid
FROM loc
WHERE country='india'
UNION
SELECT userid
FROM skills
WHERE FIND_IN_SET(8 , skillslists)
答案 0 :(得分:1)
试试这个:
SELECT L.userid,L.name,L.pass,L.email
FROM login L INNER JOIN
phyinfo P on L.userid=P.userid INNER JOIN
loc on L.userid=loc.userid INNER JOIN
skills S on S.userid=L.userid
WHERE P.height='5''21"' AND P.gender='male' AND loc.country='india' AND S.skillslists LIKE '%design%'