SQL 2个表格 字段中记录部分相同

sql 2个表格
tab1
编号 型号规格 说明
1 001 普通型
2 002 中等型
3 003 高档型
tab2
编号 型号
1 001789789
2 001456456
3 003123123
4 002456456
需要查询的结果是
tab
编号 型号 说明
1 001789789 普通型
2 001456456 普通型
3 003123123 高档型
4 002456456 中等型
如何写这个查询语句!?!
为什么 查询结果是空的呢?!

搞定了!谢谢大家!

select tab2.编号,tab2.型号,tab1.说明 from tab1 inner join tab2 on tab1.型号规格=left(tab2.型号,3)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-15
select t2. 编号,t2.型号, t1.说明
from tab1 t1,tab2 t2
where t1.型号规格=substr(t2.型号,1,3)
一般数据库是substring , oracle用substr
第2个回答  2011-09-15
SELECT tab2.编号, tab2.型号, tab1.说明
FROM tab2
LEFT JOIN tab1
ON SUBSTR(tab2.型号, 1, 3) = tab1.型号规格

SUBSTR不同数据库用法可能稍微有差异追问

运行后结果:
编号 型号 说明
1 null 普通型
2 null 普通型
3 null 中等型
... ... ...

追答

你tab1 tab2没有写反吧?

第3个回答  2011-09-15

select bb.id,typenew,type from aa inner join bb on tid=left(typenew,3)