就你给出的表结构,你这样写没什么问题。不知道你的需求是什么,我总觉得表audit设计有问题,create table audit (
code varchar(16) not null,
person_id varchar(16) not null,
constraint pk_audit primary key (code,person_id)
)
这样的话,是不是以后扩展起来也方便一些呢?拙见~~~
code varchar(16) not null,
person_id varchar(16) not null,
constraint pk_audit primary key (code,person_id)
)
这样的话,是不是以后扩展起来也方便一些呢?拙见~~~
解决方案 »
- 求:在同一张表中根据name相同,把后面的text字段全部串成一个文件的SQL
- SQL Server 2005中文件激活错误,物理文件名可能不正确,怎么改正?
- SQL 语句如何写?
- 呵呵,我才感觉自己会提问了...继续追问,最关键的也差不多是我最后的难题了,希望是...
- 用邹建的.乘车线路查询存储过程查询地铁换乘,只能查出经过站数最少的,而不能把所有的方案都查出来。
- 偶太菜,这个问题还是没懂,所以再问
- 显示空行的查询求助
- 求大侠帮写一个SQL。。。
- sqlserver2k安装时出现错误:错误代码703
- 一个存储过程的问题
- 菜鸟问题,如何取单取yyyy-mm-dd中的dd,mm?
- 邹健SOS,我的MSSQL服务启不动。
t.person_id1,
max(case when person_id1 = v.person_id then v.person_name end),
t.person_id2,
max(case when person_id2 = v.person_id then v.person_name end),
t.person_id3,
max(case when person_id3 = v.person_id then v.person_name end),
t.person_id4,
max(case when person_id4 = v.person_id then v.person_name end),
t.person_id5,
max(case when person_id5 = v.person_id then v.person_name end)
from
audit t
corss join
person v
where
t.code='501'
group by
t.person_id1,t.person_id2,t.person_id3,t.person_id4,t.person_id5
from audit a,person b,person c,person d,person e,person f
where a.person_id1=b.person_id and a.person_id2=c.person_id and a.person_id3=d.person_id and a.person_id4=e.person_id and a.person_id5=f.person_id
(select person_name from person where person_id = a.person_id1) as person_name1,
(select person_name from person where person_id = a.person_id2) as person_name2,
(select person_name from person where person_id = a.person_id3) as person_name3,
(select person_name from person where person_id = a.person_id4) as person_name4,
(select person_name from person where person_id = a.person_id5) as person_name5
from audit a
from audit t
inner join person v on t.person_id1= v.person_id