Hi all,
I'm trying to do a simple INNER JOIN with two tables whereby the 1st table can contain NULL values in the join column. The query is as such:
----------
SELECT
"B"."id",
"A"."other_id"
FROM "A"
INNER JOIN "B" ON "B"."id" = "A"."other_id"
WHERE "A"."afnemer" = '789'
AND "A"."orgid" = 123;
----------
However this returns an incorrect result, such as:
----------
+------+----------+
| id | other_id |
+======+==========+
| 143 | 143 |
| 166 | 166 |
| 147 | 147 |
| 264 | 264 |
| 323 | null |
| 323 | 271 |
| 271 | 275 |
| 275 | 269 |
| 269 | 150 |
----------
Clearly the JOIN has somehow mapped incorrect rows together from tables A and B. If I add a NOT NULL condition to the query on table A, I get correct results. This is the following query:
----------
SELECT
"A"."other_id",
"B"."id" ,
"A"."orgid"
FROM "A"
INNER JOIN "B" ON "B"."id" = "A"."other_id"
WHERE "A"."afnemer" = '789'
AND "A"."orgid" = 123
AND "A".other_id IS NOT NULL;
----------
Is this a known bug in MonetDB? Should I always add a NOT NULL condition to my JOIN queries?
Best regards,
Dennis Pallett