Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

403
Vistas
Filtrado en join en supabase

Estoy usando supabase con una base de datos que tiene 2 tablas (que están implicadas en este problema). Las tablas son teachers y users . Ambos tienen ID e id_teacher / id_user respectivamente. Estoy trabajando en una consulta donde necesito obtener a todos los maestros, uniéndome a la tabla de users , donde hay una columna de image . Solo necesito obtener los teachers donde el user tiene una image no nula .

 const query = supabase.from(`teachers`).select( ` *, id_user( image ) ` )

Esta consulta funciona para que los profesores se unan a la tabla de usuarios. Porque obtengo mi respuesta deseada. Este es un breve ejemplo.

 { "id": 560, "teacher_experience": 9, "id_user":{ "image": "example-image.jpg" } }

El problema es cuando trato de usar algún filtro para evitar images nulas .

 query.not('id_user.image', 'eq', null) query.not('id_user.image', 'in', null) query.ilike('id_user.image', 'null')

Son solo algunos ejemplos de los filtros que intenté evitar los maestros cuya imagen de user.image tiene un valor nulo . Porque NO quiero OBTENER el artículo completo, pero obtengo un artículo con id_user = null

 { "id": 560, "teacher_experience": 9, "id_user": null // In this case image is null but still giving me the user }

¿Cómo es la forma correcta de resolver esto?

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Simplemente cree una view en la base de datos para resolver este problema. Una view es un acceso directo a las consultas y es posible aplicar la cláusula where .

En el editor sql en supabase https://app.supabase.io/project/{your_project_id}/editor/sql

crear una nueva vista con uniones;

 CREATE VIEW teachers_view AS SELECT t.*, iu.image as image FROM teachers as t LEFT JOIN id_user as iu WHERE t.id = iu.teacher_id;

lea más sobre la combinación izquierda aquí

y en el uso de la aplicación

 supabase.from('teachers_view').select().neq('image', null);
about 4 years ago · Juan Pablo Isaza Denunciar

0

query.not("your_column_name", "is", "NULL")

¡trabajó para mi!

bastante extraño, si quieres comprobar NULL

 .filter("your_column_name", "is", "NULL")

parece ser la solución. No tengo idea de por qué no es consistente.

about 4 years ago · Juan Pablo Isaza Denunciar

0

No es posible cajero automático. Puedes ver el estado de la cuestión aquí. Algunas posibilidades son usar views o iniciar la consulta en la otra tabla.

about 4 years ago · Juan Pablo Isaza 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 Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda