我希望能够根据设计师的工作来过滤帖子,我将每个帖子都放在设计器表的布尔值中 即徽标:1,网站:0 ID是两个表中相同的外键,所以我想根据设计器表中的数据显示帖子。
$ sqldesigner = SELECT designerID FROM designers WHERE logo = 1;
$ sqlall = SELECT * FROM post WHERE designerID = $ sqldesigner;
我想根据发布帖子的设计师来展示这些帖子,在这个例子中,设计师在设计师表格中制作徽标时,他在注册时勾选了一个标识框,将logo设置为布尔值为1,目前我显示页面上的所有帖子但我希望有一个按钮来过滤这些帖子,只显示由制作徽标的设计师制作的帖子,我的第一个查询是获取制作徽标的设计师的所有ID,然后我的第二个是获取这些设计师的所有帖子
希望我在这里提供了足够的信息,并提前感谢您的帮助
答案 0 :(得分:2)
您可以使用以下SQL语句来满足您的要求:
SELECT * FROM post WHERE id IN (SELECT ID FROM designers WHERE logo = 1);
SQL IN运算符允许您在WHERE子句中指定多个值。 IN运算符是多个OR条件的简写。 可以找到有关SQL IN Operator的更多信息here。
OR
SELECT p.*, d.id FROM post p,designers d WHERE p.id = d.id AND d.logo = 1;
它的作用是,它可以帮助您将帖子重命名为p,将设计器重命名为d,然后根据两个不同的表格应用where where条件。
以上查询可用于解决您的问题。