我想问一问是否可以通过一个mysql查询来实现。
图像,我有表“用户”,其中包含有关用户的一般信息。然后有一个表“ zodiacs”,其中包含有关所有黄道带的信息(黄道带名称,出生期开始和出生期结束)。
我可以在询问用户的地方将用户生肖与查询一起获得吗?我在想的可能是这样的:
SELECT users.*, zodiacs.name AS zodiac
FROM users,zodiacs
WHERE zodiacs.period_start <= users.birthdate
AND zodiacs.period_end > users.birthdate
AND zodiacs.calendar = 'chineese'
不要寻找生肖逻辑,我不知道黄道带是否与其他文化不同。但主要思想是,黄道带表在上述时期内可能有更多的项目,但日历不同。
那么,可以这样查询吗?
最佳答案
您忘记在表中使用JOINS
。尝试根据表users
和zodiacs
的某些列使用JOIN
像这样的东西:
SELECT users.*, zodiacs.name AS zodiac
FROM users INNER JOIN zodiacs ON users.id=zodiacs.id
WHERE zodiacs.period_start <= users.birthdate
AND zodiacs.period_end > users.birthdate
AND zodiacs.calendar = 'chineese'
关于mysql - MySQL连接多个动态表中的列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18581220/