SQL Server - Consultar dos campos que se hacen referencia para obtener contadores (padrino - apadrinado)

 
Vista:

Consultar dos campos que se hacen referencia para obtener contadores (padrino - apadrinado)

Publicado por DcdacD (1 intervención) el 07/04/2018 23:53:07
Buenas noches, estoy preparando una BBDD de un nuevo proyecto y quiero controlar los apadrinados que puede tener cada usuario. No se como realizar una SELECT en la que muestre el nombre del usuario y cuantos padrinos tiene.
En la tabla tengo un campo padrino que hace referencia al ID del usuario padrino.

Alguien podría iluminarme?

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kingk
Val: 7
Ha aumentado su posición en 2 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Consultar dos campos que se hacen referencia para obtener contadores (padrino - apadrinado)

Publicado por kingk (1 intervención) el 10/04/2018 00:11:00
Hola, creo que la cardinalidad esta mal interpretada. Si un usuario puede tener varios padrinos entonces lo correcto seria tener en la tabla de Padrinos un campo que haga refernecia al codigo de los Usuarios. Si por el contrario, el usuario solo puede tener un padrino pero los padrinos pueden apadrinar a mas de un usuario, entonces si debe haber un campo padrino en la tabla de usuarios. Si tu caso es el primero, debes modificar ese detalle, y la consulta seria asi:

1
2
3
select nombreUsuario,COUNT(Padrinos.usuarioApadrinado)
from Usuarios INNER JOIN Padrinos ON Usuarios.idUsuario=Padrinos.usuarioApadrinado
Group by nombre usuario
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar