Mysql 使用2(多个)选择插入?
我想做的是这样的:Mysql 使用2(多个)选择插入?,mysql,sql,select,insert,Mysql,Sql,Select,Insert,我想做的是这样的: 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 我试过这样的方法: INSERT INTO
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
我试过这样的方法:
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';
在您的情况下,应该是:(只需从WHERE子句中删除LIVRE)
假设select查询只返回一行,如果select查询返回的行多于一行,则根据需要使用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) );
如果
SELECT
返回的行数超过1行,会发生什么情况?你是如何处理这种情况的?对于num_serie_产品来说,这是不可能的(这是一个PK),但是对于分销商来说,这是完全可能的:/If我把->c.distributeur=“Traffic Systems”放在这里,谢谢你非常清楚的回答。我修改了一个lil位,以确保它只返回1行。@Booba_uuu2012:谢谢。您可以选择此答案旁边的灰色勾选框进行投票并接受此答案!
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) );