I am having trouble building a LEFT JOIN query to filter out specific data.
TableA
+-----------------+-------------+
| name (UNIQUE) | description |
+-----------------+-------------+
| test_1 | desc_1 |
| test_2 | desc_2 |
| test_3 | desc_3 |
| test_4 | desc_4 |
+-----------------+-------------+
TableB
+--------+-------+
| name | data |
+--------+-------+
| test_1 | val_1 |
| test_2 | val_1 |
| test_1 | val_2 |
| test_1 | val_3 |
+--------+-------+
Using the following query I get the below result:
SELECT tableA.name, tableA.description tableB.data
FROM tableA
LEFT JOIN tableB
ON tableB.name=tableA.name
WHERE tableB.data='val_1'
Result:
+--------+-------+-------------+
| name | data | description |
+--------+-------+-------------+
| test_1 | val_1 | desc_1 |
| test_2 | val_1 | desc_2 |
+--------+-------+-------------+
Here is the result I am looking for:
+--------+-------+-------------+
| name | data | description |
+--------+-------+-------------+
| test_1 | val_1 | desc_1 |
| test_2 | val_1 | desc_2 |
| test_3 | NULL | desc_1 |
| test_4 | NULL | desc_2 |
+--------+-------+-------------+
Is it possible to build a query that filters like that?
test_3 | NULL | desc_1? whytest_3linked todesc_1what is logic here?