求条语句

kaikai_kk 2011-06-20 11:10:36
T1(sno int,a varchar(20))
-------------------------
1 A-100
2 A-2-4
3 B
4 C
5 D
6 A

T2(ino int,b varchar(20))
-------------------------
1 A-04
2 A-02
3 A-03-3
4 A-05
5 B-1
6 B-f
7 B-B-3
8 B-0
9 C-6
10 C
11 C-3

说明:
T1的sno唯一,T2 ino,b唯一
以T1的a左边第一个减号(-)部分与T2按b升序排列后,取第一笔,再取b左边第一个减号(-)部分相连接
截断a,按sno升序,返回结果如下

sno a ino b
-----------
1 A 2 A-02
2 A 2 A-02
3 B 8 B-0
4 C 10 C
6 A 2 A-02
...全文
109 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
kaikai_kk 2011-06-20
  • 打赏
  • 举报
回复
select X.*,t2.* From
(select sno,(Case When charindex('-',a)>0 Then Left(a,charindex('-',a)-1) Else a End) a from t1) X
left join t2
on charindex(X.a,t2.b)=1
where t2.b=(Select top 1 b From t2 where charindex(x.a,b)=1 order by b)
cd731107 2011-06-20
  • 打赏
  • 举报
回复
select sno,left(t1.a,1),ino,b 
from t1,
(
select *
from T2
where not exists
(select 1 from T2 as tb where left(T2.b,1)=left(tb.b,1) and tb.b>T2.b)
) t3
where left(t1.a,1)=left(t3.b,1)
-晴天 2011-06-20
  • 打赏
  • 举报
回复
create table T1(sno int,a varchar(20))
insert into t1 select 1,'A-100'
insert into t1 select 2,'A-2-4'
insert into t1 select 3,'B'
insert into t1 select 4,'C'
insert into t1 select 5,'D'
insert into t1 select 6,'A'
create table T2(ino int,b varchar(20))
insert into t2 select 1,'A-04'
insert into t2 select 2,'A-02'
insert into t2 select 3,'A-03-3'
insert into t2 select 4,'A-05'
insert into t2 select 5,'B-1'
insert into t2 select 6,'B-f'
insert into t2 select 7,'B-B-3'
insert into t2 select 8,'B-0'
insert into t2 select 9,'C-6'
insert into t2 select 10,'C'
insert into t2 select 11,'C-3'
go
;with cte as(
select a.sno,a.a,b.ino,b.b from(
select sno,case when charindex('-',a)>0 then left(a,charindex('-',a)-1) else a end a from t1
)a inner join t2 b on charindex(a.a,b.b)=1
)select * from cte a where not exists(select 1 from cte where sno=a.sno and b<a.b)
go
drop table t1,t2
/*
sno a ino b
----------- -------------------- ----------- --------------------
1 A 2 A-02
2 A 2 A-02
3 B 8 B-0
4 C 10 C
6 A 2 A-02

(5 行受影响)

*/
于2024年4月-2025年9月期间,研究团队在贵州习水国家级自然保护区制定39条样线,涵盖灌木林、常绿阔叶林、针叶林、常绿落叶阔叶混交林、针阔混交林等不同植被类型,每条样线分春夏秋冬4个季节采集样品,用真菌采集软件记录经纬度、海拔、采集地点、时间、生境等信息,使用佳能相机(R6 mark Ⅱ)对大型真菌进行拍照,并采集标本,标本存放于贵州省生物研究所大型真菌标本馆(HGAMF)。 通过形态学初步鉴定,结合分子生物学最终鉴定,参考已]报道的中国毒蘑菇名录开展毒蘑菇的认定。 调查到保护区内有毒真菌7目25科64种,导致中毒的主要类型有急性肾衰竭型、神经精神型和胃肠炎型。最终形成贵州习水国家级自然保护区大型有毒真菌图片数据集,它由以下2个部分组成。 (1)附件1包含78张原始照片(.JPG),照片名字包括了大型有毒真菌的拉丁名和中文名,若无中文名的直接用拉丁名。 (2)附件2是一个压缩文件,包含了2张工作表,其中一张表是大型有毒真菌39条样线的信息,另一张表是大型有毒真菌的中毒类型。 照片采用佳能相机R6 mark Ⅱ拍摄,物种鉴定通过多种文献核实,并经两位以上专家鉴定确认。该数据集可为研究地及周边的普通人识别有毒大型真菌提供参考,通过及时的图片对比,能有效避免误采误食大型有毒真菌,同时为因误食大型真菌可能引发的身体损伤进行了总结,能为患者及时治疗提供参考。

34,876

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧