我想从表T1中选择所有记录,其中表A和B中的值与表T2中的列C和D没有匹配的元组。
在mysql的“ here not notin”中,我可以使用两列来阅读如何使用T1中的select A,B来完成该操作,其中(A,B)不在(T2中的SELECT
C,D)中,但是在T中失败-SQL对我来说导致“’,’附近的语法不正确”。
那么我该怎么做呢?
使用相关的子查询:
...
WHERE
NOT EXISTS (
SELECT * FROM SecondaryTable WHERE c = FirstTable.a AND d = FirstTable.b
)
确保在SecondaryTable over上有一个复合索引(c, d)
,除非该表不包含很多行。
问题内容: 我有一个包含和的临时表。它被称为。 我还有另一个包含和的表。它被称为。 我需要获取所有已完成但尚未计划的清单。 因此,我需要以某种方式从已完成的任务中清除所有行,其中都包括: 和 问题答案: 您可以使用以下命令(语法更紧凑): 或版本(尽管更复杂,但使用适当的索引应该会更有效): 当然还有@jmacinnes的答案中的版本。
问题内容: 我是T-SQL命令的新手,所以我在SQL逻辑中找到了一个可以使用它并想要对其进行测试的地方,但无法弄清楚我应该如何使用它: 请提出正确的用法。谢谢! 问题答案: 您在帮助中了吗?这是一个简单的例子:
问题内容: 如何将(未知)行数分组为由设置的列确定分组的单行? 例如,换档 进入 谢谢你的帮助 问题答案: 您可以使用row_number()作为列名称的源来透视表: 如果您有更多的行,只需扩展数字列表即可。 实时测试是@Sql Fiddle。
问题内容: 我有一个失败的SQL查询,给我错误: “有一个表条目,但是不能从查询的这一部分中引用它” 通过查询,我需要全部3个表,但只有行程和船只具有匹配的ID才能加入。测试是一个shapefile,我需要对它执行postGIS功能,但它与其他两个ID没有相似的列ID。 我认为这与join语句有关,但我不太了解。我会对这里发生的事情的解释非常感兴趣。 问题答案: 简单规则: 请勿 在子句中使用逗号
问题内容: 我想在日期基础上更新一行。问题是,由于我的错误,我有两行相同的数据。如何仅在一行上运行更新? 问题答案: 表通常具有唯一的ID。您应该对此进行过滤。 例如, 如果您的表没有唯一的ID,请考虑添加一个:带有和的列。
问题内容: 我有一个简单的表,其中包含一些虚拟数据设置: 我可以通过执行以下sql(MSSQL 2008)语句来选择运行总计: 这将给我如下结果: 现在可以只为每个用户检索最新的行吗?因此结果将是: 我要这样做正确吗?任何建议或遵循的新路径都将是很棒的! 问题答案: 试试这个: SQL小提琴演示