+ -
当前位置:首页 → 问答吧 → 求一查询语句

求一查询语句

时间:2011-09-25

来源:互联网

有A表,表中有如下记录:
sheath_no wt drum_no type
SSH0111111111 200 WF1A1230 GYTA-24B1
SSH0111111111.01 100 WF1A1234 GYTA-24B1

有B表,表中有如下记录:
sheath_no coloring serial_no att1310 att1550 pmd
SSH0111111111 blue 1 0.318 0.191 0.023
SSH0111111111 orange 2 1.318 1.191 1.023
SSH0111111111 green 3 2.318 2.191 2.023
SSH0111111111 brown 4 3.318 3.191 3.023
SSH0111111111 grey 5 4.318 4.191 4.023
SSH0111111111 white 6 5.318 5.191 5.023

现想得到如下结果:

sheath_no wt drum_no type coloring serial_no att1310 att1550 pmd
SSH0111111111.01 100 WF1A1234 GYTA-24B1 blue 1 0.318 0.191 0.023
SSH0111111111.01 100 WF1A1234 GYTA-24B1 orange 2 1.318 1.191 1.023
SSH0111111111.01 100 WF1A1234 GYTA-24B1 green 3 2.318 2.191 2.023
SSH0111111111.01 100 WF1A1234 GYTA-24B1 brown 4 3.318 3.191 3.023
SSH0111111111.01 100 WF1A1234 GYTA-24B1 grey 5 4.318 4.191 4.023
SSH0111111111.01 100 WF1A1234 GYTA-24B1 white 6 5.318 5.191 5.023

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

谢谢

作者: goodxushi   发布时间: 2011-09-25

作者: Veron_04   发布时间: 2011-09-25

你把小数点后的去掉即可.如果是sql server则如下:

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

作者: dawugui   发布时间: 2011-09-25

--如果是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)

作者: dawugui   发布时间: 2011-09-25

热门下载

更多