我有两个数据库表,一个叫做客户端,另一个是用户。我试图选择单个字段" email"从两个表。请注意,该电子邮件字段位于两个表中。
表客户端包含10条记录,而用户有5条记录。
以下查询有效,但由于某种原因记录是重复的,所以不是总共得到15条记录,而是最终得到50.看起来像一张表中的记录乘以其他表中的记录。
SELECT
clients.email,
users.email
FROM
clients,
users;
任何帮助都将不胜感激。
答案 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;
希望有所帮助