34,593
社区成员
发帖
与我相关
我的任务
分享
create table tb (单别 char(2),单号 char(4),料号 char(20) )
insert into tb values ('A1','1001','ABC')
insert into tb values ('A1','1001','DEF')
create table tb1 (存货 char(20),规格 char(20),数量 int)
insert into tb1 values ('CPU','ABC@DEF',100)
SELECT * FROM tb
SELECT * FROM tb1
--
单别 单号 料号
A1 1001 ABC
A1 1001 DEF
存货 规格 数量
CPU ABC@DEF 100
--
想要查询的结果(2行料号一起等于规格的时候才显示):
单别 单号 料号 规格 数量
A1 1001 ABC ABC@DEF 100
A1 1001 DEF ABC@DEF 100
create table tb (单别 char(2),单号 char(4),料号 char(20) )
insert into tb values ('A1','1001','ABC')
insert into tb values ('A1','1001','DEF')
create table tb1 (存货 char(20),规格 char(20),数量 int)
insert into tb1 values ('CPU','ABC@DEF',100)
SELECT a.*,b. 规格,b.数量
FROM tb AS a,tb1 AS b
WHERE '@'+RTRIM(b.规格)+'@' LIKE '%@'+RTRIM(a.料号)+'@%'
/*
A1 1001 ABC ABC@DEF 100
A1 1001 DEF ABC@DEF 100
*/
create table tb (单别 char(2),单号 char(4),料号 char(20))
insert into tb values ('A1','1001','ABC')
insert into tb values ('A1','1001','DEF')
create table tb1 (存货 char(20),规格 char(20),数量 int)
insert into tb1 values ('CPU','ABC@DEF',100)
select e.单别,e.单号,e.料号,d.规格,d.数量
from
(select a.单别,a.单号,
stuff((select '@'+rtrim(ltrim(料号))
from tb b where b.单别=a.单别 and b.单号=a.单号 for xml path('')),1,1,'') 料号
from tb a group by a.单别,a.单号) c
inner join tb1 d on rtrim(ltrim(c.料号))=rtrim(ltrim(d.规格))
inner join tb e on c.单别=e.单别 and c.单号=e.单号
单别 单号 料号 规格 数量
---- ---- -------------------- -------------------- -----------
A1 1001 ABC ABC@DEF 100
A1 1001 DEF ABC@DEF 100
(2 row(s) affected)
create table tb (单别 char(2),单号 char(4),料号 char(20))
insert into tb values ('A1','1001','ABC')
insert into tb values ('A1','1001','DEF')
create table tb1 (存货 char(20),规格 char(20),数量 int)
insert into tb1 values ('CPU','ABC@DEF',100)
select a.单别,a.单号,a.料号,b.规格,b.数量
from tb a
inner join tb1 b
on charindex(rtrim(ltrim(a.料号)),b.规格)>0
单别 单号 料号 规格 数量
---- ---- -------------------- -------------------- -----------
A1 1001 ABC ABC@DEF 100
A1 1001 DEF ABC@DEF 100
(2 row(s) affected)
select tb.*,tb1.规格,tb1.数量
from tb,tb1