查找非唯一行的查询在 Access 中无法正常工作
Query for finding not unique rows doesn't work properly in Access
使用下面的代码,我试图获取不唯一的行,即具有同一对 columnName
和 TableName
的行。 Table columns_old
有大约 22,000 个值,在 returns 2000 以下查询。我想得到这样的行,因为通过尝试插入这个 select
我得到没有唯一值的错误行.这样我想得到这样有问题的行:
SELECT ColumnName,tablename
FROM columns_old
group by ColumnName, tablename
having count(*)> 1;
结果已按表名排序,我得到这样的行:
ColName TableName
coa_end_dt coa
coa_name coa
coa_num coa
coa_src_id coa
coa_start_dt coa
coa_template_id coa_tmplt
deleted_flag geog_area
........ ......
但我认为结果是这样的:
ColName TableName
coa_end_dt coa
coa_end_dt coa
coa_name coa
coa_name coa
coa_name coa
coa_num coa
....
这是怎么回事?就是想不通
根据对您问题的修改,您似乎不想只看到 ColumnName 和 tablename[= 的哪些组合17=] 出现在不止一行中。您想查看包含它们的实际行。
在这种情况下,将您的原始查询连接回源 table 以仅检索匹配的行:
SELECT co.ColumnName, co.tablename
FROM
columns_old AS co
INNER JOIN
(
SELECT ColumnName, tablename
FROM columns_old
GROUP BY ColumnName, tablename
HAVING count(*)> 1
) AS sub
ON co.ColumnName = sub.ColumnName AND co.tablename = sub.tablename;
使用下面的代码,我试图获取不唯一的行,即具有同一对 columnName
和 TableName
的行。 Table columns_old
有大约 22,000 个值,在 returns 2000 以下查询。我想得到这样的行,因为通过尝试插入这个 select
我得到没有唯一值的错误行.这样我想得到这样有问题的行:
SELECT ColumnName,tablename
FROM columns_old
group by ColumnName, tablename
having count(*)> 1;
结果已按表名排序,我得到这样的行:
ColName TableName
coa_end_dt coa
coa_name coa
coa_num coa
coa_src_id coa
coa_start_dt coa
coa_template_id coa_tmplt
deleted_flag geog_area
........ ......
但我认为结果是这样的:
ColName TableName
coa_end_dt coa
coa_end_dt coa
coa_name coa
coa_name coa
coa_name coa
coa_num coa
....
这是怎么回事?就是想不通
根据对您问题的修改,您似乎不想只看到 ColumnName 和 tablename[= 的哪些组合17=] 出现在不止一行中。您想查看包含它们的实际行。
在这种情况下,将您的原始查询连接回源 table 以仅检索匹配的行:
SELECT co.ColumnName, co.tablename
FROM
columns_old AS co
INNER JOIN
(
SELECT ColumnName, tablename
FROM columns_old
GROUP BY ColumnName, tablename
HAVING count(*)> 1
) AS sub
ON co.ColumnName = sub.ColumnName AND co.tablename = sub.tablename;