在尝试学习 sql 时,我遇到了“Learn SQL The Hard Way”并开始阅读它。一切都很顺利,然后我想,作为一种练习方式,做一些像书中给出的例子(例子包括 3 个表 pet、person、person_pet 和 person_pet 表将宠物“链接”到它们的主人)。
我做的:
report table
+----+-------------+
| id | content |
+----+-------------+
| 1 | bank robbery|
| 2 | invalid |
| 3 | cat on tree |
+----+-------------+
notes table
+-----------+--------------------+
| report_id | content |
+-----------+--------------------+
| 1 | they had guns |
| 3 | cat was saved |
+-----------+--------------------+
wanted result
+-----------+--------------------+---------------+
| report_id | report_content | report_notes |
+-----------+--------------------+---------------+
| 1 | bank robbery | they had guns |
| 2 | invalid | null or '' |
| 3 | cat on tree | cat was saved |
+-----------+--------------------+---------------+
我尝试了一些组合但没有成功。
我的第一个想法是
SELECT report.id,report.content AS report_content,note.content AS note_content
FROM report,note
WHERE report.id = note.report_id
但这只会返回匹配的那些(不会返回无效的报告)。在此之后我尝试添加 IF 条件,但我只是让它变得更糟。
我的问题是,这是我在通过基本 sql 后会弄清楚的事情,还是可以用简单的方式完成?
无论如何,我将不胜感激任何帮助,我对此几乎迷失了。
谢谢你。
编辑:我已经研究了相关问题,但还没有找到解决我的问题的问题。我可能需要查看其他语句,例如 join 或其他东西来解决这个问题。