2017-01-27 16 views
0

2番目のjoinクエリを削除しても、それ以外の場合は動作しません!私は、PostgreSQLとし、CodeIgniterのにcodeigniter3使用しています複数のjoin postgresqlでカラムがあいまいである

ERROR: column reference "category" is ambiguous LINE 1: ...tion", "prefix_product"."full_desc" as "description", "category"... ^

SELECT "prefix_product"."id" as "product_id", 
     "prefix_product"."title" as "name", 
     "prefix_product"."short_desc" as "briefDescription", 
     "prefix_product"."full_desc" as "description", 
     "category" as "productCategory" 
FROM "prefix_product" 
JOIN "prefix_category" 
    ON "prefix_product"."category"="prefix_category"."id" 
JOIN "prefix_category_attribs" 
    ON "prefix_product"."category"="prefix_category"."parent" 
WHERE "vendor" = '8' 

は、私が持っている:

$this->db->select(['prefix_product.id as product_id', 'prefix_product.title as name', 'prefix_product.short_desc as briefDescription', 'prefix_product.full_desc as description','category as productCategory']); 
$this->db->where('vendor',$vendorId); 
$this->db->from($this->tblName); 
$this->db->join('prefix_category','prefix_product.category=prefix_category.id'); 
$this->db->join('prefix_category_attribs','prefix_product.category=prefix_category.parent'); 
$queryResult =$this->db->get()->result(); 

おかげ

答えて

1

すなわち、同じ列名を持つ複数のテーブルがあるようですcategory。したがって、カラムが属しているテーブルを明示的に指定するには、カラムcategoryの接頭辞をSELECT句に含める必要があります。

"prefix_product"."category" as "productCategory" 
関連する問題