MySql 单个查询,两个表的字段名称相同


MySql single query, two tables same field name

我有两个数据库表,一个叫客户端,另一个叫用户。我正在尝试从两个表中选择单个字段"电子邮件"。请注意,该电子邮件字段位于两个表中。

表客户端包含 10 条记录,而用户有 5 条记录。

下面的查询有效,但由于某种原因记录是重复的,所以我最终得到的不是总共 15 条记录,而是 50 条。似乎一个表中的记录乘以另一个表中的记录。

SELECT 
  clients.email,
  users.email 
FROM
  clients,
  users;

任何帮助将不胜感激。

查询返回笛卡尔乘积

您可以简单地使用union all

select email from clients
union all
select email from users

你得到 50 行,因为那里发生了交叉联接,根据您的选择进行内部联接或左联接或右联接,最好是内联接...在两个方面都采取一些共同的属性,比如 id 或其他东西......

select clients.email, users.email from clients,users where clients.id=users.id...

尝试重命名字段

"对于客户端"表

clients_email

"对于用户"表

users_email

然后查询为

SELECT clients.clients_email, users.users_email FROM clients, users WHERE clients.clients_email = users.users_email;

希望对你有帮助