sql - 子查询连接唯一ID来命名麻烦
问题描述
我有两张桌子有问题。我正在尝试查找在 2018 年分配了超过 3 名员工的飞行员的姓名。
出租车驾驶台
p_id p_lname p_fname p_city
043 Smith John Dayton
044 Doe Jane Cincinnati
分配表
p_id AT_id HireNo AssignDate City
043 BU78 1 11/29/2018 Dayton
044 BU89 2 11/29/2018 Akron
这只是我所拥有数据的一个简短示例。
我试过以下
select p_fname, p_lname
from taxiPilot tp
join assignment a on tp.p_id = a.p_id
where a.p_id IN (Select count(a.p_id)
from assignment
where AssignDate between "01/01/2018" and "12/31/2018"
group by a.p_id
having count(a.p_id) > 3);
这导致一个空白表
我期待得到以下
p_fname p_lname count(a.p_id)
Joe Smith 5
解决方案
你想做什么?:
Select count(a.p_id)
from assignment
where AssignDate between "01/01/2018" and "12/31/2018"
group by a.p_id
having count(a.p_id) > 3
这将返回一个数字(因为计数),但不会与分配的 ID 匹配。
推荐阅读
- java - 登录多线程环境
- laravel - Laravel 6 有哪些调试技术?
- python - 在 Python 中使用 Google Protobuf 序列化数据
- javascript - 补丁值方法中通过http请求获取对象数组的问题
- python - 用大括号代替括号python加入二维列表
- python - 获取 django 中的所有 html 模板
- listview - 使用 StreamBuilder 和从 Firebase Firestore 数据库查询时,ListView 不会更新/获取数据
- c# - 在 IIS 上发布后如何查看异常的详细信息
- flutter - Flutter 中的提供程序出现错误“在此 X 小部件上方找不到正确的提供程序”
- python - 如果 JSON 中不存在列,如何将值插入为空?