Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.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
SQL结果复制照片_Sql_Join_Pdo_Duplicates - Fatal编程技术网

SQL结果复制照片

SQL结果复制照片,sql,join,pdo,duplicates,Sql,Join,Pdo,Duplicates,我想显示所有带有特定标签的照片,但它只复制照片。如果我选择另一个标签,它不会显示重复的照片 对于标签“Natur”,它应该只有2张照片,而对于标签“Berg”,它应该只有1张照片 SQL SELECT * FROM photos AS p JOIN tags_photos AS tp JOIN tags_names AS tn ON tp.id_tag = tn.id WHERE tn.data_name_seo = :name_seo ORDER BY p.datetime_taken D

我想显示所有带有特定标签的照片,但它只复制照片。如果我选择另一个标签,它不会显示重复的照片

对于标签“Natur”,它应该只有2张照片,而对于标签“Berg”,它应该只有1张照片

SQL

SELECT *
FROM photos AS p
JOIN tags_photos AS tp
JOIN tags_names AS tn
ON tp.id_tag = tn.id
WHERE tn.data_name_seo = :name_seo
ORDER BY p.datetime_taken DESC
数据库:标签和照片

id
id_photo
id_tag
id
data_file_name
datetime_taken
数据库:标签\u名称

id
data_name
data_name_seo
数据库:照片

id
id_photo
id_tag
id
data_file_name
datetime_taken

我是否遗漏了什么或有什么问题?

前两个表缺少连接条件。这可能是问题的原因:

SELECT *
FROM photos AS p JOIN
     tags_photos AS tp
     ON tp.id_photo = p.id JOIN
     tags_names AS tn
     ON tp.id_tag = tn.id
WHERE tn.data_name_seo = :name_seo
ORDER BY p.datetime_taken DESC

在大多数数据库中,缺少的
on
子句会生成错误。在MySQL中,
连接
被视为
交叉连接
,这可能会导致重复。

非常感谢!这是我错过的。我会尽快接受你的回答:)