0

tblProducten、tblCategory、tblProductCategory という名前の 3 つのテーブルがあります。

tblProductenen には次のものがあります。

  • PK_producten_ID (主キー、AI)
  • ProductNaam (製品名、VARCHAR)

このテーブルには、スマートフォンまたは通常の電話データ (「iPhone4」、「Nokia 3310」など) が入力されます。

tblCategory には次のものがあります。

  • PK_Category_ID (主キー、AI)
  • Naam_Category(カテゴリ名, VARCHAR)

この表には、カテゴリ (「スマートフォン」、「電話」、「その他」など) が含まれています。

tblProductCategory には次のものがあります。

  • PK_Product_Category_ID(主キー、AI)
  • ProductNaam (カテゴリ名、VARCHAR)
  • tblProducten_PK_Producten_ID
  • tblCategory_PK_Category_ID

ここで、"iPhone4" という名前の製品と "smartPhone" という製品のカテゴリを CategorieProduct テーブルに入力します。

私はこのようなことを試しました:

INSERT INTO tblProductCategorie (
  SELECT PK_producten_ID FROM tblProducten
  WHERE ProductNaam = "iPhone4",
    SELECT PK_Categorie_ID FROM tblCategorie
    WHERE Naam_Categorie = "smartphone"
)

しかし、不成功でした。

4

2 に答える 2

1

値を挿入する方法には2つの大きな問題があります。列リストを指定していません

insert into tablename (column1, column2, etc)values ( 1, 2)

次に、すべての引数を列に入れません。

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")    

幸運を ;)

于 2013-10-15T19:06:32.387 に答える
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";

本当にテーブルに挿入したい名前は何ですか? 製品名、カテゴリ名、またはその両方?

于 2013-10-15T19:04:19.457 に答える