2011-03-29 162 views
2

我有两个表“成员”和“用户”。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 
+0

您能向我们展示与您的问题相关的表中的列吗? – 2011-03-29 11:02:51

+1

与这个问题无关,但仍然是一般的良好做法:存储一个人的出生日期而不是他们的年龄。 – Mels 2011-03-29 11:09:37

回答

1

看起来好像两个表本质上存储着关于同一种事物的信息:人。我不知道在你的具体情况下,“用户”和“成员”之间有什么区别,但是听起来好像你只需要一张表格“人物”就可以更好一些。用户或成员。

+0

我无法更改数据库结构。这张表来自大公司 – lolalola 2011-03-29 11:10:29

3

试用UNION。我添加了第一列,以便您可以稍后检查结果的来源(例如,创建一个指向用户个人资料页面的链接)。

(SELECT 'user' AS type, id, name FROM user WHERE name LIKE '%Joy%') 
UNION 
(SELECT 'member', id, name FROM member WHERE name LIKE '%Joy%')