• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

148
Vistas
Seleccionar solo si el valor de la columna es distinto de otra columna

Tengo una tabla de enlace con rule_id a sub_rule_id como tal:

 rule_id | sub_rule_id --------------------- 1 | 1 2 | 1 2 | 2 2 | 3 3 | 3 3 | 4

Quiero poder obtener todos los sub_rule_id que están vinculados a una sola rule_is por rule_id . Entonces, si mi rule_id = 1 , entonces no esperaba filas. Y si rule_id = 2 , entonces debería obtener solo uno. Traté de jugar con distinct y having y no lo molestaría con una mala consulta. Estoy seguro de que hay una manera fácil y elegante de hacerlo.

Gracias por adelantado

about 3 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede group by sub_rule_id y establecer la condición en la cláusula de having :

 select sub_rule_id from tablename group by sub_rule_id having count(distinct rule_id) = 1

O con NOT EXISTS si desea filas completas:

 select t.* from tablename t where not exists ( select 1 from tablename where sub_rule_id = t.sub_rule_id and rule_id <> t.rule_id )
about 3 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda