如何 select 一条外键大于值的记录?
How to select a record which has a foreign key with more than value?
我是 PlSQL 的新手。我有这个 table 代表 2 tables:
之间的关系
ID T1Id T2Id
-- ---- ----
1 1 1
2 2 1
3 2 2
4 2 3
5 3 1
...
我在第 2 列 (T1Id) 中有值,其中可能有第 3 列 (T2Id) 中的一个或多个值。
我的问题是如何 select 仅具有超过 1 个 T1Id 值的 T1Id 值。
你有什么想法吗?
如果您只想要 table 中不止一个的 T1Id 值,您可以使用下面的值。
select T1Id, count(T1Id) as countT1 from yourTable
group by T1Id
having count(T1Id) > 1
如果您想 select 其他列,您可以使用行分区来实现此目的
SELECT *
FROM (SELECT a.*, COUNT (*) OVER (PARTITION BY t1id) AS countT1
FROM yourTable a)
WHERE countT1 > 1
我是 PlSQL 的新手。我有这个 table 代表 2 tables:
之间的关系ID T1Id T2Id
-- ---- ----
1 1 1
2 2 1
3 2 2
4 2 3
5 3 1
...
我在第 2 列 (T1Id) 中有值,其中可能有第 3 列 (T2Id) 中的一个或多个值。 我的问题是如何 select 仅具有超过 1 个 T1Id 值的 T1Id 值。
你有什么想法吗?
如果您只想要 table 中不止一个的 T1Id 值,您可以使用下面的值。
select T1Id, count(T1Id) as countT1 from yourTable
group by T1Id
having count(T1Id) > 1
如果您想 select 其他列,您可以使用行分区来实现此目的
SELECT *
FROM (SELECT a.*, COUNT (*) OVER (PARTITION BY t1id) AS countT1
FROM yourTable a)
WHERE countT1 > 1