Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

404
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!