我想做的是这样的事情
INSERT INTO BOOKS(borrower_name,isbn) VALUES("Jane",SELECT isbn from TABLE...);
这显然是错误的。但是我试图获得一些可以按照这种方式工作的东西(如果有的话)。
答案 0 :(得分:4)
你非常关闭
INSERT INTO books (borrower_name, isbn)
SELECT 'Jane', isbn
FROM table_name
-- WHERE id = ?
您可能希望使用table_name
子句和正确的条件来限制来自WHERE
的行数
这是 SQLFiddle 演示
如果您打算从SELECT
返回仅标量值(只有一个ISBN),那么您首先正确并且可以'在您的问题中显示使用的语法
INSERT INTO books (borrower_name,isbn)
VALUES ('Jane',
(
SELECT isbn
FROM table_name
WHERE id = 1
));
这是 SQLFiddle 演示
答案 1 :(得分:2)
你所做的也是对的,你只是错过()
选择陈述:
INSERT INTO BOOKS(borrower_name,isbn) VALUES("Jane",SELECT isbn from TABLE...);
应修改为:
INSERT INTO BOOKS(borrower_name,isbn) VALUES("Jane",(SELECT isbn from TABLE...));
它会很好用!!这是SQLFiddle demo
答案 2 :(得分:1)
INSERT INTO BOOKS(borrower_name,isbn)
SELECT 'Jane', isbn from TABLE
答案 3 :(得分:1)
检查我的答案... 例: 我有两个表Employee和Client
Insert into Employee (name, city) values((select name from client where id=2),'example');
遵循此方法