SQL中显示唯一标识数据库表中的每条记录
如上图,这个表是查询结果,在这个查询结果的基础上,想让F_iID为2、3、6……的记录只有一条,就是当有多条记录时显示唯一一条记录,除了F_iID字段,其他字段也要,改变...
如上图,这个表是查询结果,在这个查询结果的基础上,想让F_iID为2、3、6……的记录只有一条,就是当有多条记录时显示唯一一条记录,
除了F_iID字段,其他字段也要,改变的只是行数。
自己解决:
SELECT np.F_sName,left( substring(np.F_sName,charindex('%',np.F_sName)+1,len(np.F_sName)) ,
patindex('%[0-9(]%',substring(np.F_sName,charindex('%',np.F_sName)+1,len(np.F_sName) )+'0' )-1 ) AS shortname,np.F_iid
--去掉前后的12%(浓度百分比)之类的对象
FROM nzProduct np
WHERE np.F_iid IN(
SELECT DISTINCT(ns.F_iRes) FROM nzSaleRecord ns )
用其他表格的数据来限制,我的知识有限,无法判断谁的答案较好。谢谢 展开
除了F_iID字段,其他字段也要,改变的只是行数。
自己解决:
SELECT np.F_sName,left( substring(np.F_sName,charindex('%',np.F_sName)+1,len(np.F_sName)) ,
patindex('%[0-9(]%',substring(np.F_sName,charindex('%',np.F_sName)+1,len(np.F_sName) )+'0' )-1 ) AS shortname,np.F_iid
--去掉前后的12%(浓度百分比)之类的对象
FROM nzProduct np
WHERE np.F_iid IN(
SELECT DISTINCT(ns.F_iRes) FROM nzSaleRecord ns )
用其他表格的数据来限制,我的知识有限,无法判断谁的答案较好。谢谢 展开
5个回答
展开全部
select F_iId,count(*)from 你的表
where count(*) =1
group by F_iId
where count(*) =1
group by F_iId
追问
能不能再详细些,
上图是查询结果:
SELECT TOP (100) PERCENT 表1.F_iID, ……
FROM 表1 INNER JOIN 表2
ON 表1.F_sAddress =表2.address
ORDER BY 表1.F_iID
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我发现你的表中有重复行啊,你其实可以直接去重查询的嘛:
select distinct * from 表名
select distinct * from 表名
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用distinct ,他就是专门去除重复项的
或者用 group by F_iID
或者用 group by F_iID
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select F_iID,max(F_sAddress),max(address)
from table
group by F_iID
from table
group by F_iID
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
做查询的时候,在你原有的基础上在select后面加上 distinct(F_iID)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询