22,210
社区成员
发帖
与我相关
我的任务
分享
--表名gongjiao:公交线路
--num:车次
--xianlu:线路,按此车次的站台顺序排列,用","隔开
--info:车次信息
CREATE TABLE [dbo].[gongjiao](
[id] [int] IDENTITY(1,1) NOT NULL,
[num] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[xianlu] [nvarchar](2000) COLLATE Chinese_PRC_CI_AS NULL,
[info] [nvarchar](2000) COLLATE Chinese_PRC_CI_AS NULL,
PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
--表名zhan:站台
--area:站台名
--near:站台附近的标志性建筑,多个用","隔开
--vr:站台附近的实景图链接
CREATE TABLE [dbo].[zhan](
[id] [int] IDENTITY(1,1) NOT NULL,
[area] [varchar](200) COLLATE Chinese_PRC_CI_AS NULL,
[near] [varchar](500) COLLATE Chinese_PRC_CI_AS NULL,
[vr] [varchar](150) COLLATE Chinese_PRC_CI_AS NULL,
CONSTRAINT [PK_zhan] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
SET ANSI_PADDING OFF
GO
insert into gongjiao select '22路','5,2,1,4,3','火车站——某某大学 时间:7:00——22:00'
union all select '36路','5,2,7,8,3','火车站——某某大学 时间:7:00——18:00'
union all select '18路','5,2,5,1,6','火车站——开发区 时间:7:00——21:45'
insert zhan select '站台1','',''
union all select '站台2','',''
union all select '某某大学','肯德基,沃尔玛','domain.gif'
union all select '站台4','',''
union all select '火车站','步行街,某某购物广场',''
union all select '开发区','某某广场',''
union all select '站台7','',''
union all select '站台8','',''
GO
select id,area,near,vr,num=(select top 1 num from gongjiao where CHARINDEX(','+RTRIM(a.id)+',',','+xianlu+',')>0 )
from zhan as a
select id,area,near,vr,
num=stuff((select ','+num from gongjiao where CHARINDEX(','+RTRIM(a.id)+',',','+xianlu+',')>0 for xml path('')),1,1,'')
from zhan as a
group by id,area,near,vr
/**
id area near vr num
----------- ---------- -------------------- -------------------- -------------------------------------------------
1 站台1 22路,18路
2 站台2 22路,36路,18路
3 某某大学 肯德基,沃尔玛 domain.gif 22路,36路
4 站台4 22路
5 火车站 步行街,某某购物广场 22路,36路,18路
6 开发区 某某广场 18路
7 站台7 36路
8 站台8 36路
(8 行受影响)
**/