MySql查询从单个列中提取2个不同的数据,并在2列中单独显示它们

时间:2011-03-31 09:05:50

标签: mysql

name         value   

FirstName    Anan
LastName     kumar
.             .
.             .  
.             .

我的数据库中有一个像这样的表。我只输入了几个值。我想显示像

这样的表格
FirstName          LastName

 Anand             Kumar
  .                  .
  .                  .

为此,请你给我一个mysql查询。

2 个答案:

答案 0 :(得分:0)

试试这个:

SELECT
`name` , 
SUBSTRING_INDEX( `name` , ' ', 1 ) AS fname,
SUBSTRING_INDEX(SUBSTRING_INDEX( `name` , ' ', 2 ),' ',-1) AS lname
FROM yourtable

从这里开始:http://dev.mysql.com/doc/refman/5.1/en/string-functions.html

答案 1 :(得分:0)

select
    id, other,
    max(case when name = 'firstname' then value end) FirstName,
    max(case when name = 'lastname' then value end) LastName
from tbl
group by
    id, other

Classic pivot case。除了名称和类型之外,您可以按每个字段进行分组,然后使用MAX(CASE)将两个记录合并为一行。