⑴ sql多表查询语句,显示不重复数据
按照你给的代码,只要加个HAVING 就可以了。
比如下面所示:
ALTER PROCEDURE [dbo].[pro_GetText_One]
@firId int,
@secId int
AS
BEGIN
SELECT distinct text_Text.tId,text_Discuss.SendTime FROM text_Discuss inner JOIN
text_Text ON text_Discuss.tId = text_Text.tId where text_Text.firId=@firId and text_Text.secId=@secId
HAVING COUNT(text_Text.tId)>1
END
眼镜都看疼了,如果是对的,请多给点分!!
⑵ sql语句要select某字段不重复的数据应该如何写
sql语句要select某字段不重复的数据使用distinct关键字,例如从 Company" 列中仅选取唯一不同的值使用以下SQL:
SELECT DISTINCT Company FROM Order;
题主的问题B、C字段数据都相同,可以使用select distinct A,B from table_name 来实现。
(2)sql多表提取不重复数据库扩展阅读
在表中,可能会包含重复值,有时希望仅仅列出不同(distinct)的值,可以使用关键词 DISTINCT 用于返回唯一不同的值。
语法:
SELECT DISTINCT 列名称 FROM 表名称
用法注意:
1、distinct【查询字段】,必须放在要查询字段的开头,即放在第一个参数;
2、只能在SELECT 语句中使用,不能在 INSERT, DELETE, UPDATE 中使用;
3、DISTINCT 表示对后面的所有参数的拼接取 不重复的记录,即查出的参数拼接每行记录都是唯一的;
4、不能与all同时使用,默认情况下,查询时返回的就是所有的结果。
⑶ sql 怎么取不重复的数据的所有数据
SQL数据重复分几种情况,一种是原数据重复,第二种是粒度重复,第三种是分布重复。
原数据重复的情况,你直接可以distinct掉,例如,学生表当中有两个重复的学号,你想取出不重复的,直接可以写:select distinct 学号 from 学生表
第二种是查询粒度重复,比如你有一张表是存储区域的,分别为省、市、县三列。而你需要的是只查找不同的省市,则也可以使用distinct:select distinct 省,市 from 区域
第三种则是分布重复,比如在join 的时候,左右两个表格存在一对多的关系,造成的重复,或者在聚合之后出现了维度重复,则这种相对来说比较麻烦,你需要在子查询中统计或查找出唯一值,然后再去关联,或者是按照一定的数据需求的取数规则,在查询结果后再进行聚合,取到唯一值。
不过不管怎么样,都是要看实际需求是什么样子的。大多可以用子查询和关联联合解决。