【发布时间】:2022-09-28 14:46:54
【问题描述】:
假设我有 3 张桌子:
- 表 1 (ID, col1, col2)
- 表 2 (ID, col3, col4)
- 表 3 (table1_id,table2_id)
我想要做的是加入 Table1 和 Table2 然后选择具有特定列值的行(例如 col4 == \"123\")
我尝试了什么:
supabase.from(\"Table3\").select(
\'\'\'
Table1 (
col1,
col2
),
Table2 (
col3,
col4
),
\'\'\'
).eq(\"Table2.col4\", \"123\").execute();
这样做的问题是它为与查询匹配的行返回具有 Table1 和 Table2 属性的正确对象,但对于与查询不匹配的行(因此不应返回),它返回具有 Table1 属性和 Table2 的对象属性设置为空。
上述查询的示例:
表格1 |标识 | col1 | col2| |---|------|-----| |1 | val1 | val2| |2 | val3 | val4|
表2 |标识 | col3 | col4 | |---|------|------| |3 | val5 | 123 | |4 | val7 | val8 |
表3 |table1_id| table2_id| |---------|----------| |1 | 3 | |2 | 4 |
结果 |col1 | col2 | col3 | col4 | |-----|------|------|------| |val1 | val2 | val5 | 123 | |val3 | val4 |空 |空 |
如何防止它返回与查询不匹配的行?
标签: flutter dart supabase supabase-database