php - 我可以有一个 SQL 查询,其中我从 ID = 另一个查询的表中选择所有内容吗?

标签 php mysql sql

我希望能够根据设计师的工作来过滤帖子,我在设计师表中将每个帖子都放在一个 bool 值中 即 Logo :1,网站:0 ID 是两个表中相同的外键,因此我想根据设计器表中的数据显示帖子。

$sqldesigner = SELECT designerID FROM designers WHERE logo = 1;

$sqlall = SELECT * FROM post WHERE designerID = $sqldesigner;

我想根据发布帖子的设计师显示帖子,在这个例子中,设计师制作 Logo ,所以在设计师表中,当他注册时,他勾选了一个框,上面写着 Logo ,将 Logo bool 值设置为 1,目前我在页面上显示所有帖子,但我想有一个按钮来过滤这些帖子以仅显示制作 Logo 的设计师制作的帖子,我的第一个查询是获取制作 Logo 的设计师的所有 ID,然后我的第二个查询是获取那些设计师的所有帖子

希望我在这里提供了足够的信息,并提前感谢您的帮助

最佳答案

您可以使用以下 SQL 语句来满足您的需求:

SELECT * FROM post WHERE id IN (SELECT ID FROM designers WHERE logo = 1);

SQL IN 运算符允许您在 WHERE 子句中指定多个值。 IN 运算符是多个 OR 条件的简写。 有关 SQL IN 运算符的更多信息,请参见 here .

SELECT p.*, d.id FROM post p,designers d WHERE p.id = d.id AND d.logo = 1;

它的作用是帮助您将 post 重命名为 p,将 designers 重命名为 d,然后根据两个不同的表应用您的 where 条件。

以上两个查询都可以用来解决您的问题。

关于php - 我可以有一个 SQL 查询,其中我从 ID = 另一个查询的表中选择所有内容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49972957/

相关文章:

php - 通过php发送html表单数据到sql数据库(使用mysqli)

php - 更新和删除特定记录

sql - 增加 SQL Server 中的 NVARCHAR 列大小会导致索引重建吗?

php - 表单提交上的成功/错误消息未显示

mysql - 执行一个查询时出现错误语法

php - Yii2 - 尝试保存到数据库时出错

mysql - SQL多选case语句

使用 COALESCE 和 LEFT OUTER JOIN 的 SQL 查询

php - 查看许多状态或创建一个表来存储所有状态

php - 用 while() 或 foreach() 查询显示结果