我想做的是这样的:
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;
但是我不知道怎么写才正确:/
我搜索过,但找不到我真正想要的。很抱歉,如果有人已经问过了。
谢谢。
最佳答案
使用类似的东西。
INSERT INTO c (aID, bID)
SELECT a.ID, B.ID
FROM A, B
WHERE A.Name='Nisha'
AND B.Class='Java';
在您的情况下,它将是:(JUST REMOVE LIVRE FROM 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) );
关于mysql - 插入 2(多个)选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24734239/