我想做的是这样的事情:
INSERT INTO LIVRE (id_livre, id_client, id_produit)
VALUES (
null,
SELECT id_client from CLIENT where distributeur like "%Traffic%",
SELECT id_produit from PRODUIT where num_serie_produit = 1401000
);
是否可以使用1个SELECT?
我尝试过类似的事情:
INSERT INTO LIVRE (id_livre,id_client,id_produit)
SELECT
null,
C.id_client,
P.id_produit
FROM
LIVRE, CLIENT C, PRODUIT P
WHERE
C.distributeur like "%Traffic%"
AND P.num_serie_produit = 1401000;
但我不知道怎么写得正确:/
我搜索过但我无法找到我真正想要的东西。很抱歉,如果有人已经问过它。
感谢。
答案 0 :(得分:3)
使用类似的东西。
INSERT INTO c (aID, bID)
SELECT a.ID, B.ID
FROM A, B
WHERE A.Name='Nisha'
AND B.Class='Java';
在你的情况下,它将是:(刚刚从WHERE CLAUSE中删除生活)
INSERT INTO LIVRE (id_livre,id_client,id_produit)
SELECT null, C.id_client,P.id_produit
FROM CLIENT C, PRODUIT P
WHERE C.distributeur like "%Traffic%"
AND P.num_serie_produit = 1401000;
假设select查询只返回一行,如果select查询返回的行超过1行,则根据下面的查询使用rownum或limit函数。
INSERT INTO LIVRE (id_livre, id_client, id_produit)
VALUES
(null,
(SELECT id_client from *CLIENT* where distributeur like "%Traffic%"),
(SELECT id_produit from *PRODUIT* where num_serie_produit = 1401000) );