我需要一条SQL语句来检索键(或任何列)在关联表中的记录,例如:
documentId termId
4 1
4 2
3 3
5 1
这:
SELECT documentId
FROM table
WHERE termId IN (1,2,3)
…将检索documentid
值为termid
1 或 2 或 3的任何值。
有没有这样的事,但返回documentid
其中的值termid
值是1 和 2 和 3?像一个IN,但带有AND。
没有直接的功能,但是有两个选项:
SELECT t.documentid
FROM TABLE t
WHERE t.termid IN (1,2,3)
GROUP BY t.documentid
HAVING COUNT(DISINCT t.termid) = 3
注意事项是您必须使用,HAVING COUNT(DISTINCT
因为对于相同的documentid,termid的重复为2将会是误报。并且COUNT必须等于IN子句中的termid值的数量。
SELECT t.documentid
FROM TABLE t
JOIN TABLE x ON x.termid = t.termid
AND x.termid = 1
JOIN TABLE y ON y.termid = t.termid
AND y.termid = 2
JOIN TABLE z ON z.termid = t.termid
AND z.termid = 3
但是,这对于处理变化很大的标准可能会很痛苦。
问题内容: 我从来没有见过这样的声明,它是否存在于Java世界中? 问题答案: Java的版本是-它创建指定类型的新对象。 在Java中,内存是为您管理的,因此您不能显式或对象。
问题内容: 是否有与Java或JVM语言的Python virtualenv类似的东西? 问题答案: 据我了解,virtualenv使您能够拥有单独的库安装路径,从而有效地分隔“虚拟” Python安装。 Java没有“系统范围内已安装”库(*)的概念:它总是在类路径中搜索要加载的库。由于可以为每个应用程序定义类路径(并且需要将其定义!),因此每个应用程序都可以选择要加载的库和版本。 如果您更深入
问题内容: 开始使用C#学习LINQ。 尤其是LINQ to Objects和LINQ to XML。 我真的很喜欢LINQ的强大功能。 我了解到有一种叫做JLINQ的JavaScript实现。 此外(如Catbert所言),Scala将具有LINQ 您知道LINQ或类似的东西是否将成为Java 7的一部分吗? 更新:2008年的有趣帖子-LINQ forJava工具 问题答案: 看一下Scala
问题内容: 在C#中,您可以将一个类标记为,以便只能从同一包中对其进行访问。Java有什么类似的东西吗? 问题答案: 您可以通过从类的声明中省略安全修饰符(公共,私有)来创建程序包专用类。
问题内容: Java中是否有类似.NET的东西? 问题答案: 下议院郎有它。或者你可以扔一个。
问题内容: 是否有类似C#/。NET的东西 在Java中? 问题答案: 编辑:作为Java 8,这可能与 在Java8之前: Java中没有这样的东西, 但是您可以有如下内容: 例如,您可以通过以下方式使用Range: 另外,如果您不喜欢直接使用,则可以使用工厂类: 这是我们的工厂测试: 我希望这些会有用:)