![](/img/trans.png)
[英]SQL Query to select from a table using a WHERE clause on another table
[英]SQL QUERY using WHERE from ANOTHER TABLE
我想请你们帮忙看看这个 sql 在另一个表上的查询。
样品表 A
cid | 可迁移的 | 地位 | 数据 |
---|---|---|---|
1 | 真的 | 完全的 | 啊。 |
2 | 真的 | 进行中 | 湾。 |
3 | 错误的 | 完全的 | bb。 |
4 | 真的 | 完全的 |
样品表 B
cid | 活动类型 | assmnt_status |
---|---|---|
1 | 迁移 | 完全的 |
2 | 进行中 | |
3 | 迁移 | |
4 | 啜 | 完全的 |
我需要计算表 A 可迁移列下的“真”值,其中数据等于空白,表 B 中的 activity_type 不等于空白,然后表 B 中的 assmnt_status 等于 Completed
我需要计算 Table A 列 migratable 下的“false”值,其中 migratable 等于 false 并且data等于blank并且Table B 中的 activity_type 不等于 blank ,然后Table B 中的 assmnt_status 等于 Completed
假设 cid 列是标识符列,这是一个简单的连接。 查询可能如下所示,您没有发布列数据类型和列描述,您可能需要根据您的数据类型和表/索引设计进一步自定义 sql。
@ER Sy 我看到你编辑了你的问题和条件(表格中的空白表示 null 值),在这种情况下,需要根据你的新输入修改查询。
select a.migratable, count(*)
from tableA a
inner join tableB b on a.cid = b.cid
where a.data IS NULL
and b.activity_type IS NOT NULL
and b.assmnt_status = 'completed'
group by a.migratable
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.