Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.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/3/heroku/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
Mysql SQL结果不断重复_Mysql_Sql - Fatal编程技术网

Mysql SQL结果不断重复

Mysql SQL结果不断重复,mysql,sql,Mysql,Sql,我想使用下面的代码选择位置名称和水条件ID: SELECT location.loc_name, watercondition.id FROM `location`, `watercondition` WHERE location.loc_id & watercondition.id = 'LO001' 但结果是: A | LO001 A | LO002 A | LO003 B | LO001 B | LO001 B | LO002 C | LO003 如何修复

我想使用下面的代码选择位置名称和水条件ID:

SELECT location.loc_name, watercondition.id 
FROM `location`, `watercondition` 
WHERE location.loc_id & watercondition.id = 'LO001'
但结果是:

 A | LO001 
 A | LO002
 A | LO003
 B | LO001
 B | LO001 
 B | LO002
 C | LO003
如何修复它?我想要这样的结果:

A | LO001 
B | LO002
C | LO003

作为社区维基发布。我从中得不到任何好处

使用

参考:

此外,请仔细阅读不同的

在中还存在语法错误

WHERE location.loc_id & watercondition.id
从技术上讲,您忘记了
,或者可能只是使用了

请咨询逻辑运算符:

但这没有任何意义

比如:

WHERE location.loc_id = 'LO001' && watercondition.id = 'LO001'
试试这个:

SELECT location.loc_name, watercondition.id 
FROM `location`, `watercondition` 
WHERE location.loc_id & watercondition.id = 'LO001'
GROUP BY column

原因是您没有为涉及的两个表指定
join
条件。这将导致交叉联接,这意味着一个表中的每一行将与另一个表中的所有行联接

因此,您应该
连接
表以获得所需的结果

SELECT l.loc_name, w.id 
FROM `location` l
JOIN `watercondition` w ON l.loc_id = w.id --change this condition to be appropriate
WHERE l.loc_id= 'LO001'

我倾向于相信这是解决方案/更好的答案。我可能会离开我的网站,但它是一个“维基”。我可能会删除这个。然而,这是一篇社区维基文章,因此任何人都可以进行更正。顺便说一句,这样发布时没有获得代表分数,所以请随意编辑。顺便说一句,这个
WHERE location.loc\u id&watercondition.id='LO001'
在技术上是不正确的,原因有几个。检查上面的错误会发出信号。
SELECT l.loc_name, w.id 
FROM `location` l
JOIN `watercondition` w ON l.loc_id = w.id --change this condition to be appropriate
WHERE l.loc_id= 'LO001'