【发布时间】:2019-09-22 02:33:44
【问题描述】:
对于每个部门,查看研究人员的姓名以及专门负责“importi”大于 100000 美元和“aziende”且描述符类型为“TypeA = 'Grandi Aziende”的合同的研究人员签订的合同数量.
这是数据库描述:
DIPARTIMENTO(CodD*, NomeD, Settore-Scientifico, Università)
RICERCATORE(CodR*, Nome, Cognome, DataNascita, CodD, DataPresaServizio)
AZIENDA(CodA*, NomeA, TipoA, Citt`a, Settore-Industriale)
CONTRATTO-DI-RICERCA(CodR-ResponsabileScientifico*, CodA*, DataInizio*,
Durata, Importo)
这是我想出的查询:
SELECT Nome, Count(R1.CodR) AS 'Numero Contratti'
FROM RICERCATORE AS R1,DIPARTIMENTO AS D1
WHERE R1.CodD = D1.CodD
AND R1.CodR IN (SELECT R2.CodR
FROM RICERCATORE AS R2, CONTRATTO-DI-RICERCA AS C1
WHERE R2.CodR = C1.CodR-ResponsabileScientifico
AND R2.CodR NOT IN (SELECT C2.CodR-ResponsabileScientifico
FROM CONTRATTO-DI-RICERCA AS C2
WHERE C2.Importo <= 100000
OR C2.CodA IN (SELECT A1.CodA
FROM AZIENDA AS A1
WHERE A1.TipoA <>
'Grande Azienda')))
GROUP BY D1.CodD
这是正确的吗?有没有更简单的方法来制定查询?
【问题讨论】:
标签: jquery mysql sql database oracle