Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySql单查询,两个表字段名称相同_Php_Mysql - Fatal编程技术网

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

Php MySql单查询,两个表字段名称相同,php,mysql,Php,Mysql,我有两个数据库表,一个叫做clients,另一个叫做users。我试图从两个表中选择单个字段“email”。请注意,电子邮件字段位于两个表中 表客户端包含10条记录,而用户有5条记录 下面的查询是有效的,但由于某些原因,记录是重复的,因此我没有得到总共15条记录,而是得到了50条。似乎一个表中的记录与另一个表中的记录相乘 SELECT clients.email, users.email FROM clients, users; 任何帮助都将不胜感激。请尝试重命名字段 客户

我有两个数据库表,一个叫做clients,另一个叫做users。我试图从两个表中选择单个字段“email”。请注意,电子邮件字段位于两个表中

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

下面的查询是有效的,但由于某些原因,记录是重复的,因此我没有得到总共15条记录,而是得到了50条。似乎一个表中的记录与另一个表中的记录相乘

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”操作的排序规则非法混合”。看起来表和列的排序规则都不同。请更改它们的排序规则,并使它们在所有列中都相同。