我有两个表“成员”和“用户”。mysql:从两个表中获取数据
我需要从这两个表中的一个查询获取条件为“name LIKE %Joy%
”的所有用户。
如何在这种情况下加入两张表?
Tables:
users
id/name/age
1 joy 15
2 marko 26
members
id/name/level
1 peter 1
2 joyes 0
3 marko 1
我有两个表“成员”和“用户”。mysql:从两个表中获取数据
我需要从这两个表中的一个查询获取条件为“name LIKE %Joy%
”的所有用户。
如何在这种情况下加入两张表?
Tables:
users
id/name/age
1 joy 15
2 marko 26
members
id/name/level
1 peter 1
2 joyes 0
3 marko 1
看起来好像两个表本质上存储着关于同一种事物的信息:人。我不知道在你的具体情况下,“用户”和“成员”之间有什么区别,但是听起来好像你只需要一张表格“人物”就可以更好一些。用户或成员。
我无法更改数据库结构。这张表来自大公司 – lolalola 2011-03-29 11:10:29
试用UNION
。我添加了第一列,以便您可以稍后检查结果的来源(例如,创建一个指向用户个人资料页面的链接)。
(SELECT 'user' AS type, id, name FROM user WHERE name LIKE '%Joy%')
UNION
(SELECT 'member', id, name FROM member WHERE name LIKE '%Joy%')
您能向我们展示与您的问题相关的表中的列吗? – 2011-03-29 11:02:51
与这个问题无关,但仍然是一般的良好做法:存储一个人的出生日期而不是他们的年龄。 – Mels 2011-03-29 11:09:37