表1:ID NAME TYPE
------------------------------
1 NA1 A1
2 NA2 B1
3 NA3 C1表2:NUM SEX TYPE
------------------------------
1 0 A1|K1
2 1 B1|K2
3 0 C1|K3
我想两个表用TYPE字段JOIN, 但是表2里的TYPE字段值,"|" 符号 前一部分的值和表1里的TYPE值相同.
用TYPE字段怎么JOIN?请各位高手帮忙,谢谢!
------------------------------
1 NA1 A1
2 NA2 B1
3 NA3 C1表2:NUM SEX TYPE
------------------------------
1 0 A1|K1
2 1 B1|K2
3 0 C1|K3
我想两个表用TYPE字段JOIN, 但是表2里的TYPE字段值,"|" 符号 前一部分的值和表1里的TYPE值相同.
用TYPE字段怎么JOIN?请各位高手帮忙,谢谢!
解决方案 »
- 这个表应该怎么样删除?
- 请教各位大侠们:把CSV文件导入SQLSERVER有什么好办法吗?可不可以使用OpenDataSource?
- 请教一个存储过程 输出问题(output)
- 操作数类型冲突: image 与 varchar 不兼容
- 哪位有MCDBA的考试题库?小弟马上要考了,谢谢。
- 请问如何用sql语言只获得日期,且格式为"yyyy-mm-dd"?谢谢
- 请问数据库的压缩备份怎样做好,我的数据量很大,每个月有几G。(SQLSERVER)
- 请问如何把以DAT格式备份的数据还原到SQL SERVER数据库中???请各位高手进来帮帮小弟!
- 请教关于装配SQL SERVER 7的问题
- PRIMARY KEY (`id`), KEY `idx_vip_level_team_id` (`team_id`) USING BTREE,这是什么意思
- 想建一个这样的视图
- 请教一个关于模糊匹配的存储过程(全代码)
INSERT A
SELECT 1,'中国;日本;韩国' UNION ALL
SELECT 2,'美国;意大利;法国' UNION ALL
SELECT 3,'德国'
SELECT * FROM A-- 建立一个辅助的临时表就可以了
SELECT TOP 8000 id = identity(int,1,1)
INTO # FROM syscolumns a, syscolumns b
SELECT
A.ID,
COUNTRY = SUBSTRING(A.COUNTRY, B.ID, CHARINDEX(';', A.COUNTRY + ';', B.ID) - B.ID)
FROM A, # B
WHERE SUBSTRING(';' + a.COUNTRY, B.id, 1) = ';'
ORDER BY 1,2
GO
DROP TABLE A,#
*
from
表1 a
inner join
表2 b
on
a.TYPE=left(b.TYPE,charindex('|',b.TYPE)-1)
insert into @t1 select 1,'NA1','A1'
insert into @t1 select 2,'NA2','B1'
insert into @t1 select 3,'NA3','C1'declare @t2 table(NUM int,SEX int,TYPE varchar(20))
insert into @t2 select 1,0,'A1|K1'
insert into @t2 select 2,1,'B1|K2'
insert into @t2 select 3,0,'C1|K3'select
*
from
@t1 a
inner join
@t2 b
on
a.TYPE=left(b.TYPE,charindex('|',b.TYPE)-1)/*
ID NAME TYPE NUM SEX TYPE
----------- ------ ------ ----------- ----------- --------------------
1 NA1 A1 1 0 A1|K1
2 NA2 B1 2 1 B1|K2
3 NA3 C1 3 0 C1|K3
*/