Me gusta rizar el rizo!!!!
TuTabla Provincia:::::::Nombre MAD:::::::JUAN
SAN:::::::ROSA
VLC:::::::ROSA
LOG:::::::ROSA
MAD:::::::MARIO
BAR:::::::JESUS
SEV:::::::ANDY
OVI:::::::ANDY
MAD:::::::JUAN
He supuesto que puede haber mas de un Juan en Madrid pero que si solo hay Juanes en Madrid quieres que diga Madrid no Varias...
Código sql:
Ver originalSELECT Sbc1.Nombre,
IF(Sbc1.Provincias=1,Sbc2.Provincia,"Varias") AS Prov
FROM (SELECT Sbc0.Nombre,
COUNT(*) AS Provincias
FROM (SELECT TuTabla.Nombre,
TuTabla.Provincia
FROM TuTabla
GROUP BY TuTabla.Nombre,
TuTabla.Provincia) AS Sbc0
GROUP BY Sbc0.Nombre) AS Sbc1
LEFT JOIN (SELECT TuTabla.Nombre, TuTabla.Provincia
FROM TuTabla
GROUP BY TuTabla.Nombre,
TuTabla.Provincia) AS Sbc2
ON Sbc1.Nombre = Sbc2.Nombre;
Creo que funciona.... analisis
Subconsulta 0 i 2
Código sql:
Ver originalSELECT TuTabla.Nombre,
TuTabla.Provincia
FROM TuTabla
GROUP BY TuTabla.Nombre,
TuTabla.Provincia
Unifica las repeticiones (los Juanes de Madrid se contaran como un solo Juan), nos dan parejas unicas de nombre y provincia.
Subconsulta 1
Código sql:
Ver originalSELECT Sbc0.Nombre,
COUNT(*) AS Provincias
FROM (....) AS Sbc0
GROUP BY Sbc0.Nombre
Sobre la subconsulta 0 cuenta cuantas provincias hay por nombre....
Código sql:
Ver originalSELECT Sbc1.Nombre,
IF(Sbc1.Provincias=1,Sbc2.Provincia,"Varias") AS Prov
FROM (...(...) AS Sbc0....) AS Sbc1
LEFT JOIN (.....) AS Sbc2
ON Sbc1.Nombre = Sbc2.Nombre;
Se aplica el condicional en funcion del numero de provincias de cada nombre...
Quim