| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2055 人关注过本帖
标题:实现如图的sql语句写法
只看楼主 加入收藏
yu1119118430
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-7-11
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
实现如图的sql语句写法
表T1中有type字段,T2中有code字段,要实现的效果为:
当type=A时,查询结果为
图片附件: 游客没有浏览图片的权限,请 登录注册

当type=B时,查询结果为
图片附件: 游客没有浏览图片的权限,请 登录注册

当type=C时,查询结果为
图片附件: 游客没有浏览图片的权限,请 登录注册

当type=D时,查询结果为
图片附件: 游客没有浏览图片的权限,请 登录注册

请问这段sql应该怎么写?
搜索更多相关主题的帖子: sql 语句 type 查询 结果 
2017-07-11 14:15
静水且流深
Rank: 5Rank: 5
等 级:贵宾
威 望:11
帖 子:60
专家分:319
注 册:2017-7-7
收藏
得分:10 
表T1和表T2的关联关系是怎样的呢?不妨将表结构贴一下

不过是爱情,又能走多久
2017-07-12 11:29
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:10 
if object_id('tempdb..#t1') is not null drop table #t1
go
if object_id('tempdb..#t2') is not null drop table #t2
go
create table #t1([type] varchar(10))
create table #t2([code] int,name varchar(10))

insert into #t1(type)
select 'a' union all
select 'b' union all
select 'd' union all
select 'c' union all
select 'e'

insert into #t2(code,name)
select 1,'张1' union all
select 2,'张2' union all
select 3,'张3' union all
select 4,'张4' union all
select 2,'张22' union all
select 1,'张11'

declare @type varchar(10)

set @type ='a'

select t2.* from (
 select type,(case type when 'A' then 1
        else case type when 'B' then 2
            else case type when 'C' then 3 else 4 end
            end
        end) as code from #t1 where type =@type )t1,#t2 t2
where t1.code=t2.code




           
2017-07-12 18:05
pzywillpan
Rank: 2
等 级:论坛游民
帖 子:7
专家分:10
注 册:2016-11-23
收藏
得分:0 

if object_id('tempdb..t1') is not null drop table t1


CREATE TABLE T1 (ID INT,TYPE VARCHAR(50))


INSERT INTO T1 (ID,TYPE)
VALUES (1,'A'),(2,'B'),(3,'C'),(4,'D')

if object_id('tempdb..t2') is not null drop table t2


CREATE TABLE T2 (ID INT,CODE VARCHAR(50),ID2 INT)

INSERT INTO T2 (ID,CODE,ID2)
VALUES (1,1,1),(2,2,2),(3,1,3),(4,2,3),(5,1,4),(6,2,4)


SELECT CODE FROM T1 INNER JOIN T2 ON T1.ID = T2.ID2
WHERE TYPE = 'A'

SELECT CODE FROM T1 INNER JOIN T2 ON T1.ID = T2.ID2
WHERE TYPE = 'B'

SELECT CODE FROM T1 INNER JOIN T2 ON T1.ID = T2.ID2
WHERE TYPE = 'C'

SELECT CODE FROM T1 INNER JOIN T2 ON T1.ID = T2.ID2
WHERE TYPE = 'D'


不知道是不是你要的结果,可以参考一下
2017-08-04 12:08
快速回复:实现如图的sql语句写法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015418 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved