【发布时间】:2019-10-19 21:49:48
【问题描述】:
我想在表的其余部分中选择与不同列组合关联的行 ID。例如,如果不同的行是
我想获取与每一行关联的行 ID。我无法查询不同的 ID,因为它们是行的主键(因此都是不同的)。
到目前为止我有:
SELECT e.ID
FROM E_UPLOAD_TEST e
INNER JOIN (
SELECT DISTINCT WHAT, MATERIALS, ERROR_FIELD, UNITS, SEASONALITY, DATA_TYPE, DETAILS, METHODS, DATA_FORMAT
FROM E_UPLOAD_TEST) c
ON e.WHAT = c.WHAT AND e.MATERIALS = c.MATERIALS AND e.ERROR_FIELD = c.ERROR_FIELD AND e.DATA_TYPE = c.DATA_TYPE AND e.METHODS = c.METHODS AND e.DATA_FORMAT = c.DATA_FORMAT;
运行但不返回任何内容。我错过了GROUP BY 和/或MIN() 声明吗?
【问题讨论】:
-
如果您将 NULL 视为组合中的匹配值,那么您需要正确处理它。 NULL=NULL 为假。见asktom.oracle.com/pls/asktom/…
-
你能举个例子说明你希望输出是什么吗?您不希望数据集中的哪些行使用行 ID?
-
我认为这与PLSQL无关,所以我将编辑标题。
-
“我想获取行 ID”可能意味着表中某处有行 ID?或者你的意思是表存储在磁盘上时Oracle分配的ROWID?而且,你想如何获得身份证?以什么形式?输出应该是什么样子?