我想问一问是否可以通过一个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。尝试根据表userszodiacs的某些列使用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/

10-10 06:49