Como hacer subqueries con mysql
Vamos a proceder a crear una subqueries en mysql. Esto nos servirá para poder combinar diferentes tablas. Ideal para buscadores que precisas de más de dos tablas relacionadas por algún campo.
SELECT * FROM Empleados WHERE Salario > (SELECT MAX(Salario) FROM Empleados)
Subqueries ecalares
SELECT * FROM Empleados WHERE Salario > (SELECT MAX(Salario) FROM Empleados)
IN y NOT IN - Esto dice si una valor de una columna está o no esta en la otra columna de la otra tabla
SELECT * FROM Clientes WHERE Id IN (SELECT Cliente FROM Ventas);
ALL y ANY - Se puede seleccionar filas que cumplen con cierta condición en las tablas
SELECT * FROM Conformes WHERE Vencimiento > ALL (SELECT Fecha FROM Facturas);
SUBQUERIES CORRELACIONADOS - Esto es cuando hace referencia a una tabla que no figura en el FROM aunque sí debe figurar en la query que la contiene
SELECT Articulo, Importe FROM Ventas V1 WHERE
Importe = (SELECT MAX(Importe)
FROM Ventas V2 WHERE V2.Articulo = V1.Articulo) ORDER BY Articulo;
EXIST y NOT EXIST - Te dice si tiene alguna fila o no en la query
SELECT * FROM Sucursales WHERE EXISTS (SELECT 1 FROM Ventas WHERE Sucursal = Sucursales.Id);
Saludos!!

15 de Septiembre de 2011 a las 15:37
Disculpa la ignorancia pero necesito que me ayudes con ésto. Tengo una tabla que contiene valores repetidos de un mismo ID y solo necesito extraer lo que le muestro más abajo.
Un ID puede tener 1 y 2 entonces seria extraer solo ID=2, y los que sean ID=1 se quedan igual.
Esto es lo que tengo
col 1 col2
pk234 1
pk234 2
rl35 1
amp98 1
con13 1
con13 2
Este sería el resultado
col 1 col2
pk234 2
rl35 1
amp98 1
con13 2
gracias