当前位置: 首页 > 面试题库 >

使用选择语句的SQL连接查询

鲜于裕
2023-03-14
问题内容

我有一个oc_category_description表,其中的列是:

  • category_id
  • 姓名

和其他表oc_category,其中的列是:

  • category_id
  • 图像
  • parent_id

这是oc_category_description表的示例图片

在此处输入图片说明

oc_category表

在此处输入图片说明

在这里,我想显示名称,category_id,图像,parent_id,其中oc_category parent_id为0;

这是sql:

的PHP

function getMainCategory()
{
    $stmt = $this->con->prepare("SELECT category_id, image, parent_id, (SELECT oc_category_description.name FROM oc_category_description WHERE oc_category.category_id = oc_category_description.category_id) FROM oc_category WHERE parent_id = 0 ORDER BY category_id ASC");

    $stmt->execute();
    $stmt->bind_result($category_id, $image, $parent_id, $name);

    $users = array();

    while ($stmt->fetch()) {
        $temp = array();
        $temp['category_id'] = $category_id;
        $temp['image'] = $image;
        $temp['parent_id'] = $parent_id;
        $temp['name'] = $name;

        array_push($users, $temp);
    }
    return $users;
}

但它什么也没返回:(


问题答案:

请尝试以下脚本-

SELECT oc_category.category_id, 
oc_category.image, 
oc_category.parent_id, 
oc_category_description.name
FROM oc_category 
INNER JOIN oc_category_description 
    ON oc_category.category_id = oc_category_description.category_id
WHERE oc_category.parent_id = 0 
ORDER BY oc_category.category_id ASC


 类似资料:
  • 问题内容: 我在C#项目中将SQLServer用于故障排除程序,并且我有一个包含ID,Question,QuestionId,Solution和Rank的表。我希望有一个问题的多个解决方案,并且程序将选择排名最高的解决方案,该解决方案仅由最高的数字来选择,该数字在每次正确时都会递增。为此,我有以下SQL语句: 当我只有一个可用的解决方案时,它可以很好地工作,但是当我有多个解决方案时,它却不能。 问

  • 本文向大家介绍sql连接查询语句中on、where筛选的区别总结,包括了sql连接查询语句中on、where筛选的区别总结的使用技巧和注意事项,需要的朋友参考一下 前言 相信对于每位程序员来说,sql查询这个东西, 要说它简单, 可以很简单, 通常情况下只需使用增删查改配合编程语言的逻辑表达能力,就能实现所有功能。 但是增删查改并不能代表sql语句的所有, 完整的sql功能会另人望而生畏。 就拿比

  • 问题内容: 当我的SQL语句中只有一个内部联接时,它可以很好地工作。我尝试加入第二张表,现在出现一个错误,提示存在语法错误(缺少运算符)。这是怎么了 问题答案: 对于多表联接,您必须将多余的联接嵌套在方括号中: 基本上,对于除第一个表之外的所有其他表,都需要在原始“ FROM”表之前加上一个括号,并在匹配的JOIN“ on”子句上使用一个结束括号。

  • 我想用格式化字符串记录传递的sql,以检查是简单地传递问号还是实际的列名,但结果发现jdbc不支持这种线程安全日志记录。我把我准备好的陈述构造成在不同的条件下是不同的。 因此,我使用一个语句来选择我需要的所有内容,然后使用一个结果集进行检索,同时根据这些结果集创建一个准备好的对象。我的准备好的语句在两次sql更新之间可能会发生变化,而之前我使用了两个不同的准备好的语句,但我收到了死锁。因此,我需要

  • 问题内容: 我有这两个SQL语句,我需要做的是将它们连接到一个语句中,但是当我这样做时,结果是不合适的。:/ 这就是我加入他们的方式: 这样,“ wynajecia”和“ wizyty”中的数字相同,这是错误的。:/ 编辑: 有了这段代码,我得到: 正确的输出应为: 我设法通过以下代码获得正确的答案: 但是我不是,这是解决问题的正确方法。 问题答案: 考虑以下场景: TableA记录的ID:{1、

  • 本文向大家介绍SQL设置SQL Server最大连接数及查询语句,包括了SQL设置SQL Server最大连接数及查询语句的使用技巧和注意事项,需要的朋友参考一下 一、设置最大连接数 下面的T-SQL 语句可以配置SQL Server 允许的并发用户连接的最大数目。 第一句用以表示显示sp_configure 系统存储过程高级选项,使用user connections 时,要求show advan