请教SQL语句(30分)

  • 主题发起人 主题发起人 L.Ming
  • 开始时间 开始时间
L

L.Ming

Unregistered / Unconfirmed
GUEST, unregistred user!
表A:记录所有代码内容
Typecode code name
ZG1 47 5-10吨挂车
ZG1 24 二十座以上
ZG1 61 50CC及以下
ZG1 73 运输型拖拉机14.7KW及以下
ZG3 72 农用型拖拉机14.7KW以上
ZG3 21 六座以下
表B:
Item isccode kind compound typecode
002 DBC00 XX 无 SDC
002 DMB00 XX 无 SDW
002 DMB00 XX 无 SDW
008 DFA00 01 (11,12) ZG1
008 DFA00 02 (21,22,23,24) ZG1
008 DFA00 04 (31,32,33,34,35) ZG1
008 DFA00 05 (32,33,34,35) ZG1
两表关系:A.typecode = B.typecode
本来这两个表的查询很明确,SELECT * FROM A,B
WHERE A.TypeCode = B.TypeCode
.但偶尔还会出现下面这种情况
如果Kind<>XX的时候,isccode的Code IN compound
结果查询就会出现无用的重复语句.
typecode code name Item isccode Kind compound typecode
ZG1 21 六座以下 008 DFA01 01 (11,12) ZG1
这一条结果Code = 21 但是却Not In (11,21)
怎么一条SQL语句查询两个表的所有数据
 
重复就加 distinct
select distinct * FROM A,B
WHERE A.TypeCode = B.TypeCode
 
select a.*,b.* from table1 a inner join table2 b on b.code=a.code
where kind <> XX
 
请以上两位再重复看看我的题目
单独一条语句查询TtypeCode = XX的表A:
SELECT * FROM A WHERE TYPECode = 'SDC' ORDER BY CODE
结果是:
Typecode code name fullname
SDC 01 六座以下客车 六座以下客车
SDC 02 六座至二十座以下客车 六座至二十座以下客车
SDC 03 二十座及二十座以上客车 二十座及二十座以上客车
SDC 04 二吨以下货车 二吨以下货车
SDC 05 二吨至五吨以下货车 二吨至五吨以下货车
SDC 06 五吨至十吨以下货车 五吨至十吨以下货车
SDC 07 十吨至十吨以上货车 十吨至十吨以上货车
SDC 08 罐车 罐车
单独一条语句查询TtypeCode <> XX的表A:
SELECT * FROM T_CODE WHERE TYPECode = 'ZG1' ORDER BY CODE
Typecode code name fullname
ZG1 11 六座以下 六座以下
ZG1 12 六座以上 六座以上
ZG1 21 六座以下 六座以下
ZG1 22 六座至十座 六座至十座
ZG1 23 十座至二十座 十座至二十座
ZG1 24 二十座以上 二十座以上
ZG1 31 六座以下 六座以下
ZG1 32 六座至十座 六座至十座
ZG1 33 十座至二十座 十座至二十座
ZG1 34 二十座至三十六座 二十座至三十六座
ZG1 35 三十六座以上 三十六座以上
ZG1 41 2吨以下 2吨以下
ZG1 42 2-5吨 2-5吨
ZG1 43 5-10吨 5-10吨
ZG1 44 10吨以上 10吨以上
ZG1 45 2吨以下挂车 2吨以下挂车
ZG1 46 2-5吨挂车 2-5吨挂车
ZG1 47 5-10吨挂车 5-10吨挂车
ZG1 48 10吨以上挂车 10吨以上挂车
ZG1 51 特种车一 特种车一
ZG1 52 特种车二 特种车二
ZG1 53 特种车三 特种车三
ZG1 54 特种车四 特种车四
ZG1 61 50CC及以下 50CC及以下
ZG1 62 50CC-250CC(含) 50CC-250CC(含)
ZG1 63 250CC以上及侧三轮 250CC以上及侧三轮
ZG1 71 农用型拖拉机14.7KW及以下 农用型拖拉机14.7KW及以下
ZG1 72 农用型拖拉机14.7KW以上 农用型拖拉机14.7KW以上
ZG1 73 运输型拖拉机14.7KW及以下 运输型拖拉机14.7KW及以下
ZG1 74 运输型拖拉机14.7KW以上 运输型拖拉机14.7KW以上
 
大家好,为什么大富翁的帐号确认功能不能用了,不做确认就没法提问,我是新注册的用户,为此我注册了两个了。能提问的大伙能不能反应一下啊。
 
SELECT * FROM a, b
WHERE a.typecode= b.typecode and a.typecode = 'ZG1'
and b.compound Like '%' + a.code +'%'
这条语句才是把不带XX的KIND的清单单列出来
 
呵呵~~~~终于想出来了.
SELECT * FROM a, b
WHERE a.typecode= b.typecode
and b.compound Like (CASE WHEN Kind <> 'XX' THEN '%' + a.code +'%' ELSE '无' END)
ORDER BY a.typeCode,a.code
 
答案已经出了,散分给动过脑子的朋友吧.
 
后退
顶部