如何在 SQLite 中将 INTERSECT 与 COUNT 一起使用?
How to use INTERSECT together with COUNT in SQLite?
我有一个名为 customer_transactions 的 table 和一个名为 blacklist 的 table。
customer_transactions table 有一个名为 atm_name 的列。
两个 table 共享一个名为 id 的唯一密钥。
如何以查询显示我的方式将两个 table 相交
- 同时出现在 table 上的客户。
- 一个相应的列,显示他们使用
某些 atm 旁边的 atm 名称
(例如:id_1 -- 美国银行 -- 2;id_1 -- 花旗银行 -- 3;
id_2 -- 美国银行 -- 1; id_2 -- 花旗银行 -- 4 等等)。
我有这样的东西
SELECT id,
atm_name,
count(atm_name) as atm_count
FROM customer_transactions
GROUP BY id, atm_name
如何将此 table 与 黑名单 table 相交并保持我当前的输出?
提前致谢。
您似乎想要加入。假设列 id
关联两个表,并且它是 blacklist
中的唯一键,你可以这样做:
select ct.id, ct.atm_name, count(*) as atm_count
from customer_transactions ct
inner join blacklist b on b.id = ct.id
group by ct.id, ct.atm_name
您还可以使用 exists
和相关子查询来表达此逻辑:
select ct.id, ct.atm_name, count(*) as atm_count
from customer_transactions ct
where exists (select 1 from blacklist b where b.id = ct.id)
group by ct.id, ct.atm_name
我有一个名为 customer_transactions 的 table 和一个名为 blacklist 的 table。 customer_transactions table 有一个名为 atm_name 的列。 两个 table 共享一个名为 id 的唯一密钥。
如何以查询显示我的方式将两个 table 相交
- 同时出现在 table 上的客户。
- 一个相应的列,显示他们使用 某些 atm 旁边的 atm 名称 (例如:id_1 -- 美国银行 -- 2;id_1 -- 花旗银行 -- 3; id_2 -- 美国银行 -- 1; id_2 -- 花旗银行 -- 4 等等)。
我有这样的东西
SELECT id,
atm_name,
count(atm_name) as atm_count
FROM customer_transactions
GROUP BY id, atm_name
如何将此 table 与 黑名单 table 相交并保持我当前的输出?
提前致谢。
您似乎想要加入。假设列 id
关联两个表,并且它是 blacklist
中的唯一键,你可以这样做:
select ct.id, ct.atm_name, count(*) as atm_count
from customer_transactions ct
inner join blacklist b on b.id = ct.id
group by ct.id, ct.atm_name
您还可以使用 exists
和相关子查询来表达此逻辑:
select ct.id, ct.atm_name, count(*) as atm_count
from customer_transactions ct
where exists (select 1 from blacklist b where b.id = ct.id)
group by ct.id, ct.atm_name