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

时间:2014-12-19 03:30:26

标签: php mysql

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

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

以下查询有效,但由于某种原因记录是重复的,所以不是总共得到15条记录,而是最终得到50.看起来像一张表中的记录乘以其他表中的记录。

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

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:0)

您的查询返回 cartesian product

您只需使用union all

即可
select email from clients
union all
select email from users

答案 1 :(得分:0)

你得到50行,因为在那里发生交叉连接,根据你的选择去内连接或左连接或右连接,最好是内连接...... 在id或其他方面采取一些共同的属性......



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




答案 2 :(得分:-1)

尝试重命名字段

对于客户表

clients_email

对于用户表

users_email

然后查询为

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

希望有所帮助