我正在尝试使用内部联接
从4个表中提取信息例如:
TableC包含以下列:
F_name, L_Name, A_ID
TableN具有以下内容:
Sub, Date, A_ID, N_ID, O_ID
TableM包含以下列:
Desc, Abbr, N_ID
TableO具有以下内容:
F_name, L_Name, O_ID,
所以我正在尝试的查询是
Select C.F_Name, C.L_Name, N.Sub, N.Date, M.Desc, M.Abbr, O.F_Name, O.L_Name
From TableN N
Inner Join TableC C
On N.A_ID = C.A_ID
Inner Join TableM M
On N.N_ID=M.N_ID
Inner Join TableO O
On O.O_ID=N.O_ID
我已经描述了上面的场景,当我运行查询时,我收到以下错误:
不明确的列名'F_Name'
答案 0 :(得分:3)
使用别名。试试这个。
Select C.F_Name as CFNAME, C.L_Name as CLNAME, N.Sub, N.Date, M.Desc, M.Abbr, O.F_Name as OFNAME, O.L_Name as OLNAME
From TableN N
Inner Join TableC C
On N.A_ID = C.A_ID
Inner Join TableM M
On N.N_ID=M.N_ID
Inner Join TableO O
On O.O_ID=N.O_ID
答案 1 :(得分:-2)
连接两个表时,我遇到了类似的问题。就我而言,这就是我所使用的:
public function PdfVista(){
$this->db->select ('Clientes.idCliente, Cotizaciones.nomCotizacion, Cotizaciones.compCliente, Cotizaciones.nomProyecto,Cotizaciones.agente, Cotizaciones.fVenCotizacion, Cotizaciones.fModCotizacion, Clientes.razSocCliente, Clientes.telFijoCliente');
$this->db->from('Cotizaciones');
$this->db->join('Clientes', 'Clientes.idCliente=Cotizaciones.idCliente');
$this->db->where('idCliente',10000);
$respuesta = $this->db->get();
return $respuesta->result();
}
但是在放置位置时,对于Clientes表和Cotizaciones表,重复了idClient列,我不得不放置:
$this->db->where('Clientes.idCliente',10000);
检测要检查的表