Mysql SQL输出多个值
我试图在列中获取更多值,并在phpMyAdmin中进行测试: 我有一个表Mysql SQL输出多个值,mysql,sql,join,Mysql,Sql,Join,我试图在列中获取更多值,并在phpMyAdmin中进行测试: 我有一个表Nieuws,在本例中包含ID和标题 表Nieuws 我有一个名为Nieuws\u tags的表,其中我为列Nieuws中的一个项目提供了多个标记 表Nieuws_标签 最后一列称为Tags,其中包含ID和Beschrijving 表标签 以下是我目前拥有的: SELECT * FROM (`Nieuws`) JOIN `Tags` ON `Tags`.`ID` = `Nieuws`.`ID` WHERE `Tags
Nieuws
,在本例中包含ID
和标题
表Nieuws
我有一个名为Nieuws\u tags
的表,其中我为列Nieuws
中的一个项目提供了多个标记
表Nieuws_标签
最后一列称为Tags
,其中包含ID
和Beschrijving
表标签
以下是我目前拥有的:
SELECT * FROM (`Nieuws`) JOIN `Tags` ON `Tags`.`ID` = `Nieuws`.`ID`
WHERE `Tags`.`ID` = 1
现在我只得到了一个值,但我给了它两个值QBNL和QBBC。我很确定我的代码是错的,但希望有人能帮助我
编辑:我想要实现的目标:
您需要带上连接表Nieuws\u标签
:
SELECT *
FROM `Nieuws`
INNER JOIN `Nieuws_tags` ON `Nieuws_tags`.`ID-Nieuws` = `Nieuws`.`ID`
INNER JOIN `Tags` ON `Tags`.`ID` = `Nieuws_tags`.`ID-tags`
WHERE `Tags`.`ID` = 1
如果您需要标签中的所有条目,下面是查询
SELECT *
FROM Nieuws t1
INNER JOIN Nieuws_tags t2 ON t2.ID-Nieuws = t1.ID
INNER JOIN Tags t3 ON t3.ID = t2.ID-tags
WHERE t3.ID-Nieuws = 1
这里的大多数人想要格式化的文本,而不是图像。对此很抱歉。谢谢GMB。现在我得到一个错误:#1054 on子句中的未知列“Nieuws.ID tags”。@ThijsvanRijn:sorry-应该是Nieuws\u tags.ID tags
我仍然返回一个值是否正确?只有QBNL,而不是QBNL和QBBC。很抱歉,这对我来说是全新的。@ThijsvanRijn:您想按标签过滤还是按新闻过滤?在您的数据中,只有一条新闻的标签1
,因此您可以获得当前查询的一条记录。但是,有两个标记与新闻1
相关,因此如果将WHERE
子句更改为WHERE Nieuws.ID=1
,则将获得rwo记录。
SELECT *
FROM Nieuws t1
INNER JOIN Nieuws_tags t2 ON t2.ID-Nieuws = t1.ID
INNER JOIN Tags t3 ON t3.ID = t2.ID-tags
WHERE t3.ID-Nieuws = 1