sqlserver行转列:
SELECT c.customerid,c.name,
[linkm] = REPLACE((SELECT name AS [data()]
from linkman l where c.customerid = l.customerid
FOR XML PATH('')), ' ', ','),
[email] = REPLACE((SELECT email AS [data()]
from linkman l where c.customerid = l.customerid
FOR XML PATH('')), ' ', ',')
FROM customer AS c left join emp as e on e.empid = c.empid
inner join Dept d on d.DeptID=e.DeptID
where 1=1 order by c.customerid desc ;
mysql的行转列,我正在弄:
select c.customerid,
c.name,
(select group_concat(name) from linkman as l
where c.customerId=l.customerId) as linkm,
(select group_concat(email) from linkman as l where c.customerId = l.customerId) as email
from customer as c left join emp as e on e.empid=c.empid
inner join dept as d on d.deptid=e.deptid
where 1=1 order by c.customerId desc
查询效果:
SELECT c.customerid,c.name,
[linkm] = REPLACE((SELECT name AS [data()]
from linkman l where c.customerid = l.customerid
FOR XML PATH('')), ' ', ','),
[email] = REPLACE((SELECT email AS [data()]
from linkman l where c.customerid = l.customerid
FOR XML PATH('')), ' ', ',')
FROM customer AS c left join emp as e on e.empid = c.empid
inner join Dept d on d.DeptID=e.DeptID
where 1=1 order by c.customerid desc ;
mysql的行转列,我正在弄:
select c.customerid,
c.name,
(select group_concat(name) from linkman as l
where c.customerId=l.customerId) as linkm,
(select group_concat(email) from linkman as l where c.customerId = l.customerId) as email
from customer as c left join emp as e on e.empid=c.empid
inner join dept as d on d.deptid=e.deptid
where 1=1 order by c.customerId desc
查询效果:
