首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

求一查询语句解决思路

2012-02-14 
求一查询语句有A表,表中有如下记录:sheath_nowtdrum_notypeSSH0111111111200WF1A1230GYTA-24B1SSH01111111

求一查询语句
有A表,表中有如下记录:
sheath_no wtdrum_no type
SSH0111111111 200WF1A1230GYTA-24B1
SSH0111111111.01100WF1A1234GYTA-24B1

有B表,表中有如下记录:
sheath_nocoloring serial_noatt1310att1550 pmd
SSH0111111111blue 10.3180.191 0.023
SSH0111111111orange 21.3181.191 1.023
SSH0111111111green 32.3182.191 2.023
SSH0111111111brown 43.3183.191 3.023
SSH0111111111grey 54.3184.191 4.023
SSH0111111111white 65.3185.191 5.023

现想得到如下结果:

sheath_no wtdrum_no type coloring serial_no att1310att1550 pmd
SSH0111111111.01100WF1A1234GYTA-24B1blue1 0.3180.1910.023
SSH0111111111.01100WF1A1234GYTA-24B1orange2 1.3181.1911.023
SSH0111111111.01100WF1A1234GYTA-24B1green3 2.3182.1912.023
SSH0111111111.01100WF1A1234GYTA-24B1brown4 3.3183.1913.023
SSH0111111111.01100WF1A1234GYTA-24B1grey5 4.3184.1914.023
SSH0111111111.01100WF1A1234GYTA-24B1white6 5.3185.1915.023

SSH0111111111两个表中是对应的,用这个查询简单,但用SSH0111111111.01不知能不能查询,如果能查得话,该如何写。

谢谢



[解决办法]
--如果是oracle则如下:

select a.* , b.* from a , b where (case when instr('.',sheath_no) > 0 then a.sheath_no = substr(b.sheath_no , 1, instr('.',sheath_no) - 1) else a.sheath_no = b.sheath_no end)

热点排行