0

我已经处理了几个小时了。我有这个查询:

update xcart.xcart_products_lng_en
left join xcart.xcart_products 
    on xcart.xcart_products.productid = xcart.xcart_products_lng_en.productid
left join xcart.xcart_extra_field_values
    on xcart.xcart_extra_field_values.productid = xcart.xcart_products.productid
set `keywords` =  CONCAT(product, " ", productcode, " ",value) 
where value is not null;`

起初,这达到了我的预期,但是客户设置数据库的方式,它有我似乎无法弄清楚的问题。

事实证明,拉取 VALUE 的表是动态生成的,最终看起来像这样。

产品 1|字段 id 1|产品 ISBN
产品 1|字段 id 3|作者姓名
产品 1|字段 id 2|货架 ID

问题是,当我创建的查询运行时,它只添加一个字段 ID 的值,并且不考虑其他字段 ID,有没有办法这样做?我知道“CONCAT”,我不确定如何使用它,或者在这种情况下使用它是否有意义。

~ 特蕾西·沃西克

4

1 回答 1

1

您的联接派生了一个表。您需要更新现有表。例如,如果您有 T1、T2、T3 作为表,并且您想根据 T1、T2、T3 更新 T1,那么您编写:

update T1
set T1.Field = (select ... from ... where ...)

我希望这有帮助。

于 2013-01-11T15:27:11.233 回答