我希望显示器显示单个信息单元。例如,我希望ID 1'jscbb_directory'仅显示ID 1'图片'列的信息。相反,它在pictures.picture中显示所有内容。
SELECT jscbb_directory.id, pictures.picture
FROM jscbb_directory, pictures
WHERE jscbb_directory.id = pictures.picture;
输出:
1
2
3
4
我使用四声作为前端,我希望如此,当用户点击ID 1'jscbb_directory'时,它只显示来自'pictures'的ID 1的信息
答案 0 :(得分:3)
尝试指定您要显示的ID
像那样 SELECT jscbb_directory.id, pictures.picture
FROM jscbb_directory, pictures
WHERE jscbb_directory.id = pictures.picture
AND jscbb_directory.id = 1; // <--------- put the id number you want or the variable $id
答案 1 :(得分:2)
我建议您将JOIN
与ON
子句一起使用。不是因为它解决了问题,而是因为它使阅读更容易。
SELECT
无论你喜欢什么。选择您想要的列。
FROM jscbb_directory JOIN pictures ON jscbb_directory.id = pictures.picture
现在你拥有的东西与之前相同,但更具可读性。
所以现在添加一个过滤器到底。 where jscbb_directory.id=1;
随意澄清您要做的事情。我不确定我理解你的问题。
这是我的答案,一个一个。
SELECT jscbb_directory.id, pictures.picture
FROM jscbb_directory JOIN pictures ON jscbb_directory.id = pictures.picture
WHERE jscbb_directory.id = 1;
,并输出
+----+---------+
| id | picture |
+----+---------+
| 1 | 1 |
+----+---------+
我不知道你为什么要两次同样的事情。所以也许你应该试试这个
SELECT jscbb_directory.id
FROM jscbb_directory JOIN pictures ON jscbb_directory.id = pictures.picture
WHERE jscbb_directory.id = 1;
或者
SELECT pictures.*
FROM jscbb_directory JOIN pictures ON jscbb_directory.id = pictures.picture
WHERE jscbb_directory.id = 1;
看看他们做了什么
答案 2 :(得分:1)
似乎您正在混合使用JOIN条件和WHERE子句过滤器。您应该使用ON
或USING
子句明确您的JOIN条件,并在您的WHERE中应用过滤条件。所以看起来应该是这样的:
SELECT jscbb_directory.id, pictures.picture
FROM jscbb_directory
INNER JOIN pictures ON jscbb_directory.id = pictures.picture
WHERE jscbb_directory.id = ?
?
替换为您要过滤的ID。