[Pregunta]: ON en una consulta con dos datos

Iniciado por Leguim, 7 Septiembre 2019, 22:47 PM

0 Miembros y 1 Visitante están viendo este tema.

Leguim

Buenas tardes!

No me acuerdo bien como se llamaba esto (tiene un nombre, por supuesto pero no me puedo acordar) digamos "entrelazar datos" que no se llama así, pero hagamos de cuenta.

tengo lo siguiente, una consulta:
Código (php) [Seleccionar]

SELECT U.id_user, U.name, U.surname, U.avatar, B.id_bloq, B.id_user, B.id_adm, B.type, B.reason FROM usuarios U INNER JOIN bloqueados B ON U.id_user = B.id_user, U.id_user = B.id_adm WHERE B.id_user = :id_user


Esta consulta que les mostré estaría incorrecta, en la parte donde hago (no me maten, es que no me acuerdo como se dice  :xD) el "ON U.id_user = B.id_user" quisiera hacer otro ON pero con "U.id_user = B.id_adm" y no se como se hace, ya que la forma en como lo hice más arriba separando con la coma parece ser incorrecta.

Gracias!




Mod: Temas sobre SQL van a Bases de Datos.

EdePC

#1
Saludos,

- Los INNER se usan para realizar consultas MultiTabla y los ON para especificar la relación de las claves primarias y/o foraneas de las tablas en cuestión. ON requiere una expresión, puedes usar un AND para agregar más expresiones de comparación pero ON solo debería de trabajar con el par de claves y dejarle el otro trabado a WHERE.

Código (sql) [Seleccionar]
SELECT U.id_user
     , U.name
     , U.surname
     , U.avatar
     , B.id_bloq
     , B.id_user
     , B.id_adm
     , B.type
     , B.reason
FROM usuarios U
INNER JOIN bloqueados B ON U.id_user = B.id_user AND U.id_user = B.id_adm


Código (sql) [Seleccionar]
SELECT U.id_user
     , U.name
     , U.surname
     , U.avatar
     , B.id_bloq
     , B.id_user
     , B.id_adm
     , B.type
     , B.reason
FROM usuarios U
INNER JOIN bloqueados B ON U.id_user = B.id_user
WHERE U.id_user = B.id_adm





Mod: Obligatorio el uso de etiquetas GeSHi.

Leguim

Muchas gracias Ede (siempre salvandome las papas)!  ;-) ;-) ;-)