小编Ant*_*ony的帖子

Mysql - 如何在左连接中对整个表进行别名

我有一种情况,其中属性表包含地址ID(来自g_addresses表),而申请人表包含来自g_addresses的地址ID.我想一起加入这些,但选择表格中的所有字段.

我知道使用'as'来为字段创建别名,但有没有办法为整个表生成别名?

SELECT *
FROM (`reference`)
LEFT JOIN `applicants` ON `applicants`.`id` = `reference`.`applicant_id`
LEFT JOIN `g_people` applicant_person ON `applicant_person`.`id` = `applicants`.`person_id`
LEFT JOIN `g_addresses` applicant_address ON `applicant_address`.`id` = `applicants`.`address_id`
LEFT JOIN `properties` ON `properties`.`id` = `reference`.`property_id`
LEFT JOIN `g_addresses` property_address ON `property_address`.`id` = `properties`.`address_id`
WHERE `reference`.`id` = 4 
Run Code Online (Sandbox Code Playgroud)

这会产生一个只包含一个地址行但不包含两者的结果.返回的行是最后一个连接的行而不是之前的行,表示它在返回时被覆盖.

mysql sql alias join

8
推荐指数
1
解决办法
4万
查看次数

Mysql Codeigniter Active Record - 如何进行where_in查询并返回正确的结果顺序?

我有一组以特定顺序传递的ID,需要保留.我从几个左连接查询与每个ID相关的数据.从搜索中返回ID,因此必须保留顺序以使结果有效(否则会使搜索变得毫无意义).

我的代码看起来像;

$this->db->where_in('id', $array_of_ordered_ids);
Run Code Online (Sandbox Code Playgroud)

例如 -

$this->db->where_in('id', array(4,5,2,6));
Run Code Online (Sandbox Code Playgroud)

将按顺序返回结果2,4,5,6.

我希望它保留订单并返回结果4,5,2,6.

谢谢,

php mysql search activerecord codeigniter

5
推荐指数
2
解决办法
5886
查看次数

在MySQL中存储序列化对象和性能

我们希望将序列化对象与唯一的内部ID一起存储在表中.我们只想读/写/(很少)更新行.我们永远不会只是ID与序列化字段进行交互.我们正在使用InnoDB,

首先;

将序列化存储为文本类型字段是否正确?

其次;

如果我们不直接与r/w之外的序列化字段进行交互,它会影响我们数据库的性能吗?

最后;

将序列化对象存储在我们的文件系统中会更好吗?

为了深入了解我们为什么首先存储它们,我们从供应商处收到一个对象,用户需要选择几个选项,我们需要使用修改后的(选定)组件发回EXACT对象.

php mysql serialization innodb

3
推荐指数
1
解决办法
3595
查看次数

标签 统计

mysql ×3

php ×2

activerecord ×1

alias ×1

codeigniter ×1

innodb ×1

join ×1

search ×1

serialization ×1

sql ×1