问题描述
- SQLServer关于SQL单表查寻合并结果
-
现有一表.
QA, QC,QD
数据
11, 22, SB
22, 11, SD
33, 44, SH
44, 33, SL需要把数据拼成两条.
QA, QC,QD, QA2, QC2,QD2
11, 22, SB , 22, 11, SD
33, 44, SH, 44, 33, SL这个表就通过QA, QC这俩字段识别
解决方案
有没有尝试着having子句和连表查询啊
解决方案二:
SQL单表外连接
解决方案三:
如果用存储过程. 临时表什么的.. 有没有给个提醒.
解决方案四:
SELECT A.*,B.* FROM 表 A,表 B WHERE a.qa=b.qc and a.qc=b.qa
解决方案五:
还是谢谢上面的两位.
解决方案六:
这是oracle的,适用于记录中只有2条数据是一样的情况,如果有多条数据一致,则需要先distinct,比如
22, 11, SD
22, 11, SD1
有多条,则需要先distinct
利用行号大小进行过滤掉其中一条
SELECT a.* FROM (
select a.qa qa1,a.qc qc1,a.qd qd1,a.rn arn
,b.qa qa2,b.qc qc2,b.qd qd2,b.rn brn
,rownum rn2 from (
select a.*,rownum rn from 表 a
) a,
(
select a.*,rownum rn from 表 a
) b
where a.qa=b.qc and a.qc=b.qa
) A WHERE arn<=rn2
时间: 2024-12-31 10:08:24