Php MySql单查询,两个表字段名称相同
我有两个数据库表,一个叫做clients,另一个叫做users。我试图从两个表中选择单个字段“email”。请注意,电子邮件字段位于两个表中 表客户端包含10条记录,而用户有5条记录 下面的查询是有效的,但由于某些原因,记录是重复的,因此我没有得到总共15条记录,而是得到了50条。似乎一个表中的记录与另一个表中的记录相乘Php MySql单查询,两个表字段名称相同,php,mysql,Php,Mysql,我有两个数据库表,一个叫做clients,另一个叫做users。我试图从两个表中选择单个字段“email”。请注意,电子邮件字段位于两个表中 表客户端包含10条记录,而用户有5条记录 下面的查询是有效的,但由于某些原因,记录是重复的,因此我没有得到总共15条记录,而是得到了50条。似乎一个表中的记录与另一个表中的记录相乘 SELECT clients.email, users.email FROM clients, users; 任何帮助都将不胜感激。请尝试重命名字段 客户
SELECT
clients.email,
users.email
FROM
clients,
users;
任何帮助都将不胜感激。请尝试重命名字段 客户表
clients_email
适用于用户表
users_email
然后查询为
SELECT clients.clients_email, users.users_email FROM clients, users WHERE clients.clients_email = users.users_email;
希望对您的查询有帮助您的查询返回 您只需使用
union all
select email from clients
union all
select email from users
你得到50行,因为交叉连接正在那里发生,根据你的选择,选择内部连接、左连接或右连接,最好是内部连接。。。 在这两者中都有一些共同的属性,比如id或其他
选择clients.email、users.email from clients、users where clients.id=users.id…。
您需要一个join或where子句。签出,因为您没有应用任何条件或联接,所以查询必须返回两个表中的所有电子邮件字段。我想返回两个表中的电子邮件字段。这就是重点,但我得到的不是15个结果,而是50个。每一条记录都会重复,为什么需要重命名?我从来没有说过这是必需的。。我说尝试重命名…这意味着如果他愿意,他可以这么做…这不是必须的。我得到的是“一般错误:1271“UNION”操作的排序规则非法混合”。看起来表和列的排序规则都不同。请更改它们的排序规则,并使它们在所有列中都相同。