Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在join语句中提供别名,而不更改codeigniter中的select语句(*)_Php_Mysql_Codeigniter_Join - Fatal编程技术网

Php 在join语句中提供别名,而不更改codeigniter中的select语句(*)

Php 在join语句中提供别名,而不更改codeigniter中的select语句(*),php,mysql,codeigniter,join,Php,Mysql,Codeigniter,Join,我在espressionengine中处理查询,并使用codeigniter语法对它们进行编码。我的问题是: $sql = ee()->db->select('*'); $sql = ee()->db->from('sometable'); $sql = ee()->db->where('id', $hidden_id); $sql = ee()->db->get(); 我想添加一个联接以获得另一个类似的值: $sql = ee()->d

我在espressionengine中处理查询,并使用codeigniter语法对它们进行编码。我的问题是:

$sql = ee()->db->select('*');
$sql = ee()->db->from('sometable');
$sql = ee()->db->where('id', $hidden_id);
$sql = ee()->db->get();
我想添加一个联接以获得另一个类似的值:

 $sql = ee()->db->join('another_table', 'sometable.another_table_id, another_table.id);
现在的问题是,在join语句中,我添加了另一个具有相同名称id的列

我不想更改select语句*,而是想在join语句中添加一个别名,类似于:

 $sql = ee()->db->join('another_table', 'sometable.another_table_id, another_table.id as another_table_id);
这可行吗?

希望这能帮助您:

您的查询应该是这样的:

如果主键和外键具有相同的列名,则使用此选项:

$this->db->select('*');
$this->db->from('sometable stable');
$this->db->join('(SELECT id  
FROM another_table ) as a_table' ,'id');
$query = $this->db->get();
print_r($query->result());
如果没有,请使用此:

确保在join here中有一个_table.id=stable.id,主键和外键在此匹配

$this->db->select('*,a_table.id as credit_id');
$this->db->from('sometable stable');
$this->db->join('another_table a_table','a_table.id = stable.id');
$query = $this->db->get();


print_r($query->result());
您也可以通过$this->db->query从这个查询中得到结果


不,这会产生错误,就像您的SQL语法中有错误一样,但您可以使用子查询而不是如何执行子查询?执行类似以下操作:从某个表t1中选择*,其中id在另一个表t2中选择id,其中t1.id=t2.Other_id和id=1;是的,但这是正常的语法,我在寻找代码集语法,比如://Sub Query$mysql=ee->db->select'id as credit\u id'->from'exp\u credit\u tracker\u credit\u type'$subQuery=ee->db->get\u compiled\u选择$mysql;//主查询$sql=ee->db->从'exp\u credit\u tracker\u assoc'中选择'*'->加入$subQuery,NULL,FALSE->get->result;我的查询是完全一样的一个,它的工作,但我正在寻找CodeIgniter版本,因为我需要清理它,并排除加入部分,如果我需要希望这将为你请检查
$sql = 'your query here';
$query = $this->db->query();
print_r($query->result());