我已经从两个表中创建了一个SELECT:
SELECT p.products_id, p.gender, f.feature_set_id, f.products_id
FROM products_item_codes AS p
LEFT OUTER JOIN feature_set_to_products AS f ON p.products_id = f.products_id
products_id gender feature_set_id products_íd
1235 Damen 7 1235
1236 Damen 7 1236
1237 NULL NULL
1238 Herren NULL NULL
1239 Herren NULL NULL
1240 Damen 7 1240
如何更新feature_set_id和products_id?
NULL数据集不存在,我将创建它们。
答案 0 :(得分:0)
正如@Shadow所评论的那样,你必须INSERT
,因为这些行不存在。
但是,如果您希望一次在2个表格中设置值,因为gender
来自products_item_codes
,而feature_set_id
来自feature_set_to_products
,您将拥有使用至少 2插入查询。
您应该使用事务,或者在应用程序级别执行插入(即PHP,Perl或您使用的任何语言)
答案 1 :(得分:0)
我会使用insert ... select ...语句来填充feature_set_to_products
表。案例陈述可以根据性别来处理插入的相应feature_set_id。
insert into feature_set_to_products (feature_set_id, products_id)
select case when p.gender='Damen' then 7 when p.gender='Herren' then 6 else null end, p.products_id
from products_item_codes p
left join feature_set_to_products AS f ON p.products_id = f.products_id
where p.gender in ('Damen', 'Herren') and f.products_id is null