我想从3个不同的表中选择某些字段并通过id_product链接?我似乎无法找到是否应该使用联接或联合?我已经尝试了以下但是出现了错误
SELECT id_product, price, wholesale_price, id_category_default, id_shop_default, description, description_short, link_rewrite, meta_description, meta_keywords, meta_title, name, id_shop, weight
from ps_product, ps_product_lang, ps_product_attribute_shop
where ps_product.id_product = ps_product_lang.id_product
and ps_product_lang.id_product = ps_product_attribute_shop.id_product
错误代码:1052。专栏' id_product'在字段列表中 暧昧0.00031秒
我需要的表格和字段是:
ps_product
----------
id_product,
price,
wholesale_price,
id_category_default,
id_shop_default.
ps_product_lang
---------------
id_product,
description,
description_short,
link_rewrite,
meta_description,
meta_keywords,
meta_title,
name.
ps_product_attribute_shop
-------------------------
id_product,
id_shop,
price,
weight.
任何帮助将不胜感激
感谢您的帮助。
我设法得到了我正在寻找的东西:
选择ps_product.id_product,ps_product.price,ps_product.wholesale_price,ps_product.id_category_default,ps_product.id_shop_default,ps_product_lang.description,ps_product_lang.description_short,ps_product_lang.link_rewrite,ps_product_lang.meta_description,ps_product_lang.meta_keywords,ps_product_lang.meta_title,ps_product_lang。 name,ps_product_attribute_shop.id_shop,ps_product_attribute_shop.price,ps_product_attribute_shop.weight
FROM ps_product LEFT JOIN ps_product_lang on ps_product.id_product = ps_product_lang.id_product LEFT JOIN ps_product_attribute_shop ON ps_product.id_product = ps_product_attribute_shop.id_product
可能还有很长的路要走,但我更容易跟随
答案 0 :(得分:0)
列模糊错误。在您的选择查询中创建表格别名,例如ps_product as psp
,然后选择select psp.id_product, [[all columns with aliases]]
一种方法可能是 - >
SELECT ps_product.id_product, ps_product_attribute_shop.price, ps_product_lang.description
from ps_product,
ps_product_lang,
ps_product_attribute_shop
where ps_product.id_product = ps_product_lang.id_product and ps_product_lang.id_product = ps_product_attribute_shop.id_product
像这样修改您的查询只需确保从包含它们的表中选择列和您要从中选择它们的列。
答案 1 :(得分:0)
当您正在进行连接操作的表中有两个具有相同名称的列时,会发生列歧义。在这种情况下,您必须显式写入表的名称(或其别名)以及列名。
gdal.AutoCreateWarpedVRT