0

我正在尝试从 Roundcube 导出数据,它有两个我需要的表,用户和联系人。目前我正在使用它来过滤用户:

 SELECT `user_id` FROM `users` WHERE `username` LIKE "%mysite.com%"

但是如何从联系人表中导出数据,其中user_id匹配上面过滤的user_ids 列表?我必须使用临时表吗?我从来没有加入过。我不想要加入的 2 个表的漂亮列表,我想使用SELECT子句导出数据来过滤它并重新导入它,所以我需要原始格式的数据。

4

2 回答 2

2

您还可以使用子查询:

SELECT *
FROM `contacts`
WHERE `user_id` IN (
    SELECT `user_id` FROM `users` WHERE `username` LIKE "%mysite.com%"
)
于 2012-12-17T19:11:59.387 回答
1

如果表是通过相关的,user_id您可以加入它们:

SELECT c.* 
FROM `users` u
INNER JOIN `contacts` c
    on u.`user_id` = c.`user_id` 
WHERE u.`username` LIKE "%mysite.com%"

如果您需要帮助学习连接语法,这里是连接的一个很好的可视化解释

于 2012-12-17T19:09:16.030 回答