EDITO: Estoy usando PostgreSQL, he visto tarde que havia una subcarpeta.
Hola a todos, soy novato en el mundo de sql y estoy teniendo algunos problemas para hacer una consulta, la cuestión és que es una consulta algo compleja y haciendo dos por separado me funcionan pero si intento unirlas no lo consigo.
Código:
SELECT d.City, d.Name
FROM DOCTOR d, VISIT v
WHERE d.Specialty = 'Medicina familiar i comunitària'
ORDER BY d.Name;
SELECT * FROM VISIT
WHERE DATE (Visit_Date)<'01/01/2012'
OR DATE(Visit_Date)>'31/12/2013';
Estas són las 2 consultas que quiero unir, he provado varios metodos como:
Código:
SELECT City, Name
FROM DOCTOR d
WHERE d.Specialty = 'Medicina familiar i comunitària'
AND NOT IN(SELECT *
FROM VISIT
WHERE Visit_Date BETWEEN '2012-01-01' and '2013-12-31')
ORDER BY d.Name;
Y muchas otras cosas pero nunca consigo que me salga lo que necessito.
Lo que debe hacer la consulta es darme los nombres y ciudades (de la tabla Doctor) de los medicos de medicina familiar que no hicieron ninguna visita entre 2012 y 2013, lo de las vistias está en la tabla VISIT, alguien puede hecharme una mano?
Gracias
EDITO2: Gracias por mover el post en la carpeta correcta, aprovecho para preguntar otra cosita, tengo otra consulta con este codigo:
Código:
SELECT p.name, p.address, p.city, sum(v.price) as total
FROM VISIT v join PATIENT p on p.Pat_Number = v.Pat_Number
where Date(Visit_Date)<'01/01/2012'
group by p.name, p.address, p.city, p.Pat_Number, v.Pat_Number
order by total DESC;
pero me faltaria que solo mostrase las filas con sum(v.price) sean superiores a 1000, el problema es que si pongo esta condicion en el where me dice que no se puden poner funciones de agregacion allí, y si pongo total>1000 me dice que total no existe ¿cómo pudeo solucionar esto?
Saludos y gracias otra vez.