如何[MySQL]选择具有记录的用户

时间:2012-12-01 06:19:57

标签: mysql

我有这些表格:

用户

|user_id|user_name|
|-------|---------|
|   1   |  John   |
|-------|---------|
|   2   |  Mark   |
|-------|---------|
|   3   |  Paul   |
|-------|---------|

记录

| record_id | user_id |    records   |
|-----------|---------|--------------|
|    1      |    3    | lorem ipsum  |
|-----------|---------|--------------|
|    2      |    3    | dolor sit    |
|-----------|---------|--------------|
|    3      |    3    | consectetur  |
|-----------|---------|--------------|
|    4      |    1    | adipisicing  |
|-----------|---------|--------------|
|    5      |    3    | eiusmod      |
|-----------|---------|--------------|
|    6      |    1    | consectetur  |
|-----------|---------|--------------|

我想要的是选择有记录的用户。在这种情况下,只有 John Paul 才会返回。

2 个答案:

答案 0 :(得分:1)

使用子查询:

SELECT user_name FROM users WHERE user_id IN (SELECT DISTINCT user_id FROM records)

或使用INNER JOIN:

SELECT u.user_name FROM users u
INNER JOIN records r ON u.user_id=r.user_id
GROUP BY u.user_name

答案 1 :(得分:0)

SELECT u.user_name, r.records FROM users as u, records as r where u.user_id = r.user_id