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

如何使用ssp.class.php联接两个表

嵇光临
2023-03-14
问题内容

我开始将DataTables
Table插件用于jQuery
,但遇到了一些问题。我从这里使用示例代码。

我有MySQL表女巫看起来像这样:

id | 名称| Father_id

father_idid同一表中仅在不同行中的值。因此,如果我想知道父亲的名字,我必须在同一个表中进行搜索WHERE id = father_id。但是DataTable所做的只是按原样显示MySQL表的内容。

在我的数据表中,我想显示如下数据:

id | 名称| 父亲名| Father_id

因此,当DataTable从MySQL表中获取数据时,但是在创建表之前,我想更改列值,该列值当时是father_idMySQL中同一行中的值。我也想father_name通过特定的搜索来添加它father_id


问题答案:

正如PaulF所指出的,您需要使用JOIN或子查询从同一张表中检索父亲的名字。

我假设您是ssp.class.php根据您提到的示例在服务器端处理数据的。

ssp.class.php不支持联接和子查询,但是有一种解决方法。诀窍是使用$table定义如下所示的子查询。table在子查询中替换为您的实际表名。

$table = <<<EOT
 (
    SELECT 
      a.id, 
      a.name, 
      a.father_id, 
      b.name AS father_name
    FROM table a
    LEFT JOIN table b ON a.father_id = b.id
 ) temp
EOT;

$primaryKey = 'id';

$columns = array(
   array( 'db' => 'id',          'dt' => 0 ),
   array( 'db' => 'name',        'dt' => 1 ),
   array( 'db' => 'father_id',   'dt' => 2 ),
   array( 'db' => 'father_name', 'dt' => 3 )
);

$sql_details = array(
   'user' => '',
   'pass' => '',
   'db'   => '',
   'host' => ''
);

require( 'ssp.class.php' );
echo json_encode(
   SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
);

您还需要编辑ssp.class.php和替换的所有实例FROM$table`与FROM $table`删除反引号。

确保所有列名都是唯一的,否则用于AS分配别名。

笔记

还有github.com/emran/ssp存储库,其中包含增强的ssp.class.php支持JOIN。

链接

有关更多信息,请参见jQuery数据表:将WHERE,JOIN和GROUP
BY与ssp.class.php一起
使用。



 类似资料:
  • 问题内容: 我有两个表: 服务 ID 客户 服务 和 客户 ID 名称 电子邮件 如何列出表服务并将客户表的客户名称汇总在一起?该表中的现场客户服务在客户表上具有该客户的ID, 我感谢您的帮助 问题答案:

  • 问题内容: 我有两个表和相关的Java映射。 这是我的Java实体。国家POJO: 和用户POJO: 问题是,我怎么能加入到在Hibernate中使用注释?当我使用Hibernate创建User对象时,我需要自动绑定这两个字段(代码和countryCode)。 问题答案: 您需要从映射到实体,并从映射到:

  • 我有两张桌子, 我想为changelog实现一个搜索方法,该方法返回字段 如您所见,结果来自两个表的联接。 我发现https://gorm.io/docs/preload.html 但老实说,我不明白我该如何实现我所需要的。 我认为下面的内容可能会有所帮助 问题是,如何从GORM中提到的表格中获得我提到的内容?

  • 问题内容: 我有两个表,和。 在表中我有一列。该列由电影适合的类别组成。这些类别是用逗号分隔的ID。 这是一个例子: 现在是一个实际的问题:是否可以执行一个查询,从电影表中排除类别列,而是从类别表中选择匹配的类别并以数组形式返回它们?像联接一样,但问题是存在多个用逗号分隔的类别,是否可以进行某种正则表达式? 问题答案: 在数据库字段中使用逗号分隔的列表是一种反模式,应不惜一切代价避免使用。 因为在

  • 问题内容: 谁能告诉我如何编写查询并如上所述获取结果,谢谢!我试过加入,左右加入。一切都没有结果。 问题答案: 您可以在这两个表之间写左外部联接最好的理解方法是检查下图 查询您的要求 阅读有关 代码项目的 原始文章将对您有很大帮助:SQL Joins的可视表示 。 在以下位置找到原始版本:MySQL中的JOIN和OUTER JOIN之间的区别 。

  • 我有 2 张表 和。 特别提款权: 操作员: 我需要选择这个表并将结果插入到另一个表- 卡尔斯: 我需要选择两个表 和,并将结果(经过一些数据操作)插入到 表中。 我使用 JPA,但不明白该怎么做。我有一个想法来创建另一个像 这样的类并编写: 然后从 创建 .class或者还有另一种解决方案?