当前位置: 首页 > 知识库问答 >
问题:

PHP MySQL-如果使用JOIN查询在另一个表中存在记录,则显示选中的选择选项

钱震博
2023-03-14

我在做一项任务。在其中

>

  • 有一个select标记,其中显示了表1中的usersname。我可以选择多个选项。

    工作:

    • 共有两张表:表1

    但是当页面再次显示时,以前选择的所有选项现在都应该显示。

    但是我担心应该运行多个查询。就像现在,我是这样做的。

    • 我运行以下查询以在select选项中显示表1中的数据
    SELECT * FROM table1
    

    在php的循环中,我再次通过一个查询检查表1中这个id的选项是否存在于表2中,然后为该选项显示选中。否则为空。

    我的数据库表表1:id,name
    表2:id

    因此,如果表1中的id存在于表2中,则我显示为选中,否则不显示为选中。

    唯一的问题是我想避免在循环中运行多个查询,并为此使用一些连接。但我不知道如何在连接查询中使用if条件。

    请帮忙。

    谢谢

  • 共有1个答案

    柏正平
    2023-03-14

    您想使用一个左外部联接

    SELECT * 
    FROM table1 AS t1  
    LEFT OUTER JOIN table2 AS t2 
     ON t1.id = t2.id 
    WHERE t2.id IS NOT NULL 
    

    这基本上说。

    返回table1.id=table2.id的记录。基于id忽略table2中不存在的记录

     类似资料:
    • 问题内容: 我正在寻找一个SQL查询来选择所有未由同一表上的另一个查询选择的记录。具体来说,我想选择所有具有特定字段(’fieldA’)重复项的记录,然后删除除其中一个记录以外的所有记录。 因此,一条select语句可能类似于以下内容(不起作用!): 如果不可能进行单个查询,那么最有效的解决方案是什么? 问题答案: 具体来说,我想选择所有具有特定字段(’fieldA’)重复项的记录,然后删除除其中

    • 问题内容: 尝试通过一些非常有限的知识和经验来进行SQL查询。尝试了很多我通过搜索发现的内容,但没有得出我想要的结果。 我有四个表: 回复:KITS-[KIT_NO]和[ITEM_NO]都位于ITEMS表中。它们的串联是PK。 我想选择ORDERS,ORDERS.DATE,ORDER_DETAILS.ITEM_NO,ITEMS.DESC 没问题。一些简单的内部联接,我在路上。 困难在于在selec

    • 问题内容: 我有一些简单的查询: 你们都知道结果: 但是,我想从记录3中显示什么?我知道我可以做到,但是我需要将选择的记录设置在第一位,可以说我选择的结果如下: 或者 这可能吗? 问题答案: 这样您就可以得到: 按订单此外,如果你想休息有序,太。 解释: 该表达式的计算结果为boolean。(在mysql中为= 0)在(在mysql中为= 1 )之前进行排序,因此我们对降序进行排序。 它还可以自动

    • 问题内容: table1 (id, name) table2 (id, name) 询问: 问题答案: SELECT t1.name FROM table1 t1 LEFT JOIN table2 t2 ON t2.name = t1.name WHERE t2.name IS NULL 问 :这是怎么回事? 答 :从概念上讲,我们从中选择所有行,并为每一行尝试在其中找到具有相同值的行。如果没有这

    • 我想在选择另一个select元素的一个选项时显示一个select元素,在选择另一个选项时隐藏它。 这是JavaScript: 感谢任何帮助。谢谢

    • 问题内容: 我有2张桌子,一张用于会员,另一张用于他们的服务。这些是MySQL 5.6服务器上的InnoDB表。 会员表: 服务表: 我尝试达到以下结果: 因此,如果服务表中存在用户ID,则列服务将为true或false。 我尝试使用JOIN和子查询来完成此操作,但没有成功,因此我需要您的帮助;) 问题答案: 使用服务表,请尝试此查询