我需要一些帮助。
我必须在表格中将两个值插入“ hospital_database ”。此表有五列,称为“ personas ”。列的名称是“ cod_hospital(PK)”,“ DNI ”,“ Apellidos ”,“ Funcion “和” Salario “......我必须将” 99887766 “和”MartínezMartínez,Alejandro “插入” DNI < / strong>“和” Apellidos “,但根据问题,我必须插入”医院“,其中只有1个人......
我必须使用“insert + select”,我最后的努力就是:
insert into personas
values (99887766, 'Martínez Martínez, Alejandro');
select dni, apellidos
from personas
where count(dni)=1;
我尝试了类似的东西,并尝试了很多方法......但它不像问题那样有效。我必须使用insert + select,所以我不应该写“;”在“选择”之前。
答案 0 :(得分:1)
老实说,我还在猜这一点,但是如果该表中只有1行存在给定的医院代码,您可能打算在personas
表中插入一行。为此,您需要将group by
与having
:
insert into personas (cod_hospital, dni, apellidos)
select cod_hospital, 99887766, 'Martínez Martínez, Alejandro'
from personas
group by cod_hospital
having count(*)=1
答案 1 :(得分:0)
插入有几个sintaxis,看起来你正在混合所有这些
一个是插入值http://www.w3schools.com/sql/sql_insert.asp
INSERT INTO table_name
VALUES (value1,value2,value3,...);
来自select的另一个插入 http://www.w3schools.com/sql/sql_insert_into_select.asp
INSERT INTO table2
SELECT * FROM table1;
如果您不包含所有字段,则必须指明要插入的字段
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway');
答案 2 :(得分:0)
cod_hospital是表的PK,每个医院只能插入一个人,将你的PK改为:cod_hospital,dni