我有3个表,名为tblProducten,tblCategorie和tblProductCategorie。
tblProductenen有:
此表格中包含智能手机或普通手机数据(例如“iPhone4”,“诺基亚3310”)
tblCategorie有:
此表格中填写了类别(例如“智能手机”,“手机”,“额外”)
tblProductCategorie有:
现在我想在CategorieProduct表格中输入名为“iPhone4”的产品和“smartPhone”产品的类别。
我试过这样的事情:
INSERT INTO tblProductCategorie (
SELECT PK_producten_ID FROM tblProducten
WHERE ProductNaam = "iPhone4",
SELECT PK_Categorie_ID FROM tblCategorie
WHERE Naam_Categorie = "smartphone"
)
但是不成功。
答案 0 :(得分:1)
INSERT INTO tblProductCategorie(ProductNaam, tblProductenen_PK_Producten_ID, tblCategorie_PK_Categorie_ID)
SELECT distinct ###, PK_producten_ID, PK_Categorie_ID
FROM tblProducten, tblCategorie
WHERE ProductNaam = "iPhone4" AND Naam_Categorie = "smartphone";
你真的想要在表格中插入什么名字?产品名称,类别名称或两者兼而有之?
答案 1 :(得分:1)
插入值的方式有两个主要问题,您没有指定列列表
insert into tablename (column1, column2, etc)values ( 1, 2)
第二,你不要把所有的args放在你的列中。
INSERT INTO tblProductCategorie( PK_Product_Categorie_ID, ProductNaam, tblProductenen_PK_Producten_ID, tblCategorie_PK_Categorie_ID) (SELECT PK_producten_ID FROM tblProducten WHERE ProductNaam = "iPhone4", SELECT PK_Categorie_ID FROM tblCategorie WHERE Naam_Categorie = "smartphone")
应该要求:
INSERT INTO tblProductCategorie( PK_Product_Categorie_ID, ProductNaam, tblProductenen_PK_Producten_ID, tblCategorie_PK_Categorie_ID)( "iPhone4", SELECT PK_producten_ID FROM tblProducten WHERE ProductNaam = "iPhone4", SELECT PK_Categorie_ID FROM tblCategorie WHERE Naam_Categorie = "smartphone")
祝你好运;)