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:
Estas són las 2 consultas que quiero unir, he provado varios metodos como: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';
Código:
Y muchas otras cosas pero nunca consigo que me salga lo que necessito.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;
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:
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?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;
Saludos y gracias otra vez.