我有下列数据的表:SQL SUBQUERY对自
licence_number
date_of_birth
organisation
我想要做一个查询,其中:
获取licence_numbers和DOBS在organisation1在同一 牌照号码并且dobs在组织2中。
我知道它不能那么辛苦,但我正在挣扎。
我有下列数据的表:SQL SUBQUERY对自
licence_number
date_of_birth
organisation
我想要做一个查询,其中:
获取licence_numbers和DOBS在organisation1在同一 牌照号码并且dobs在组织2中。
我知道它不能那么辛苦,但我正在挣扎。
您可以通过license_number和DATE_OF_BIRTH群里组织被设置为两个有趣的组织,并指望有多少不同的组织有一组。
如果在一个组中有两个可能的两个可能,你有一个命中。
SELECT license_number, date_of_birth
FROM mytable
WHERE organisation IN ('organisation1', 'organisation2')
GROUP BY license_number, date_of_birth
HAVING COUNT(DISTINCT organisation) = 2;
...或者你可以使用INTERSECT
;
SELECT license_number, date_of_birth
FROM mytable WHERE organisation = 'organisation1'
INTERSECT
SELECT license_number, date_of_birth
FROM mytable WHERE organisation = 'organisation2'
是什么让你相信有两张表?你从两个组织获得同样的组织。有什么意义? –
@ClodoaldoNeto谢谢你,你绝对正确。我更新了答案,以回答正确的事情:) –
谢谢,相交 - 是我需要的。我出于某种原因试图加入。完全忘记了相交。 – Mark
您只需自加入其中,许可证编号和日期相同的表,但该组织并不:
SELECT DISTINCT p1.licence_number, p1.date_of_birth
FROM people p1
INNER JOIN people p2
ON p1.licence_number = p2.licence_number AND
p1.date_of_birth = p2.date_of_birth AND
p1.organisation <> p2.organisation
它是一个JOIN或1个表?
Select
[licence_number],
[date_of_birth],
[organisation]
From YourTable
Where organisation1 = organisation2
--OR
Select
[licence_number],
[date_of_birth],
[organisation]
From YourTable
Where organisation1 IN ('organisation2','organisation3','organisation3')
Order By [licence_number]
这是无效的SQL(用于Postgres和任何其他符合标准的数据库)。 –
你想开源然后MySQL – sz1
挣扎?请显示你的斗争结果。 –
这确实是一个问题的不好迹象,如果OP没有付出任何努力,OP就没有被高级代表用户回答,甚至没有遵守。看到这里本身:2个用户的回答大于** 100k **的答案。 –
@SatwikNadkarny嗯,不是说这是一个好问题,但“必须显示一个最小的理解”的密切原因已经消失了,问题就我所能看到的那样清楚地陈述。如果您能看到合适的密切理由,请随时投票结束。 –