如何使用 CodeIgniter 中的查询生成器从两个表中选择数据?

弗拉德

我有这个查询在 MySql 5 上完美运行

'SELECT a.id, a.name, a.date, c.name FROM artist as a, country as c WHERE a.country_id=c.id'

基本上它从艺术家表中选择 id、姓名和日期,然后用国家表中的适当名称替换国家的 id。

注意:artist.country_id 是外键,即 country.id。每个艺术家都属于某个国家,并且它的表中有一个 country_id。我需要为艺术家获取数据,但还要用适当的名称替换 country_id。我不想显示国家号码,我想显示国家名称。

 $artists = $this->db->query('SELECT a.id, a.name, a.date, c.name FROM artist as a, country as c WHERE a.country_id=c.id');

我面临的问题是,artist.name 被 country.name 覆盖,我在结果中看不到艺术家姓名,只有国家/地区名称。

如何在 CodeIgniter 查询构建器下使用它?

我使用 CodeIgniter 版本 3。

编辑:添加了更多代码:

    $this->db->select('artist.id', 'artist.name', 'artist.date', 'country.name', false);
    $this->db->from('artist');
    $this->db->join('country', 'country.id=artist.country_id');
    $artists = $this->db->get();

部分结果:

[0] => stdClass Object
    (
        [id] => 1
        [name] => Macedonia
        [date] => 1979-10-10
    )

[1] => stdClass Object
    (
        [id] => 2
        [name] => Britain
        [date] => 2003-01-01
    )

结果中没有歌手姓名。国家/地区名称会覆盖此字段。

带有国家名称的艺术家表查询

丹尼

您可以如下编写子查询

 $this->db->
 select('a.id, a.name, a.date, c.name')
 ->from('artist as a, country as c ')
 ->where('a.country_id','c.id');

你也可以使用 joins

$this->db->select('a.id as artist_id, a.name as artist_name, a.date as artist_date, c.name as country_name',false)
$this->db->from('artist as a')
$this->db->join('country as c','a.country_id = c.id');

访问值。

$row->artist_id
$row->artist_name 等等...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用联接取回单个查询从两个表中选择的元素

来自分类Dev

使用SQL查询从两个表中选择数据

来自分类Dev

使用SQL查询从两个表中选择数据

来自分类Dev

Codeigniter,使用WHERE子句连接两个表

来自分类Dev

使用LEFT JOIN从两个表中选择数据

来自分类Dev

如何通过使用内部联接从codeigniter中的两个表中获取数据

来自分类Dev

从Codeigniter的两个表中选择“查询”

来自分类Dev

如何在Codeigniter中使用JOIN从两个表中获取AVERAGE

来自分类Dev

使用查询生成器从三个表codeigniter获取数据

来自分类Dev

如何从php中的两个表中选择数据

来自分类Dev

查询生成器Codeigniter 3

来自分类Dev

如何使用codeigniter查询生成器编写“ ORDER BY NULL”

来自分类Dev

无法使用laravel查询生成器来联接两个表的结果

来自分类Dev

如何使用查询生成器在Laravel中计算两个相关日期?

来自分类Dev

SQLite如何在一个查询中从两个表中选择sum()

来自分类Dev

使用连接的两个不同列的Mysql减总和-使用Symfony查询生成器

来自分类Dev

CodeIgniter:在视图中显示两个表中的数据-使用一个循环?

来自分类Dev

如何使用联接取回单个查询从两个表中选择的元素

来自分类Dev

使用JOIN从两个表中选择的SQL查询

来自分类Dev

如何读取具有两个值的表(Codeigniter)

来自分类Dev

如何使用Codeigniter的表类

来自分类Dev

如何使用foreach循环到另一个foreach循环中遍历codeigniter中的两个不同的数据表?

来自分类Dev

如何在Codeigniter中使用单个查询在两个单独的表中插入数据?

来自分类Dev

从两个表中选择并使用数据创建对象

来自分类Dev

如何使用codeigniter活动记录编写查询以获取两个日期之间的行数据?

来自分类Dev

如何将codeigniter中的两个表与jquery数据表连接起来

来自分类Dev

在 CodeIgniter 查询生成器中使用子查询编写查询?

来自分类Dev

在 MySQL 中,如何从两个不同的表中选择 *?

来自分类Dev

如何使用linq从两个表中选择列

Related 相关文章

  1. 1

    如何使用联接取回单个查询从两个表中选择的元素

  2. 2

    使用SQL查询从两个表中选择数据

  3. 3

    使用SQL查询从两个表中选择数据

  4. 4

    Codeigniter,使用WHERE子句连接两个表

  5. 5

    使用LEFT JOIN从两个表中选择数据

  6. 6

    如何通过使用内部联接从codeigniter中的两个表中获取数据

  7. 7

    从Codeigniter的两个表中选择“查询”

  8. 8

    如何在Codeigniter中使用JOIN从两个表中获取AVERAGE

  9. 9

    使用查询生成器从三个表codeigniter获取数据

  10. 10

    如何从php中的两个表中选择数据

  11. 11

    查询生成器Codeigniter 3

  12. 12

    如何使用codeigniter查询生成器编写“ ORDER BY NULL”

  13. 13

    无法使用laravel查询生成器来联接两个表的结果

  14. 14

    如何使用查询生成器在Laravel中计算两个相关日期?

  15. 15

    SQLite如何在一个查询中从两个表中选择sum()

  16. 16

    使用连接的两个不同列的Mysql减总和-使用Symfony查询生成器

  17. 17

    CodeIgniter:在视图中显示两个表中的数据-使用一个循环?

  18. 18

    如何使用联接取回单个查询从两个表中选择的元素

  19. 19

    使用JOIN从两个表中选择的SQL查询

  20. 20

    如何读取具有两个值的表(Codeigniter)

  21. 21

    如何使用Codeigniter的表类

  22. 22

    如何使用foreach循环到另一个foreach循环中遍历codeigniter中的两个不同的数据表?

  23. 23

    如何在Codeigniter中使用单个查询在两个单独的表中插入数据?

  24. 24

    从两个表中选择并使用数据创建对象

  25. 25

    如何使用codeigniter活动记录编写查询以获取两个日期之间的行数据?

  26. 26

    如何将codeigniter中的两个表与jquery数据表连接起来

  27. 27

    在 CodeIgniter 查询生成器中使用子查询编写查询?

  28. 28

    在 MySQL 中,如何从两个不同的表中选择 *?

  29. 29

    如何使用linq从两个表中选择列

热门标签

归档