我有以下两个SQL表(在MySQL中):
Phone_book
+----+------+--------------+
| id | name | phone_number |
+----+------+--------------+
| 1 | John | 111111111111 |
+----+------+--------------+
| 2 | Jane | 222222222222 |
+----+------+--------------+
Call
+----+------+--------------+
| id | date | phone_number |
+----+------+--------------+
| 1 | 0945 | 111111111111 |
+----+------+--------------+
| 2 | 0950 | 222222222222 |
+----+------+--------------+
| 3 | 1045 | 333333333333 |
+----+------+--------------+
Run Code Online (Sandbox Code Playgroud)
如何找出调用由人,他们作了phone_number不在Phone_book?期望的输出是:
Call
+----+------+--------------+
| id | date | phone_number |
+----+------+--------------+
| 3 | 1045 …Run Code Online (Sandbox Code Playgroud) 我根本不熟悉SQL,所以希望有人可以帮我查询一个查询,该查询将查找父表中没有子表中记录的所有记录.
以下工作为我找到特定子字段值的父记录...
`SELECT ParentTable.ParentID
FROM ParentTable INNER JOIN
ParentTable ON ParentTable.ParentID = ChildTable.ChildID
WHERE (ChildTable.ChildField_ = '2131')
Group By
ParentTable.ParentID
Having
count(distinct ChildTable.ChildField) > 0`
Run Code Online (Sandbox Code Playgroud)
我可以更改where子句,了解如何查找具有零子记录计数的父项.
谢谢.