У меня есть таблица в mysql (скажем, studentinfo).MySql Группа от Pivot
SELECT * FROM StudentInfo;
Я хочу следующий вывод без использования каких-либо дополнительных или временную таблицу. (Может быть, с помощью группы по и поворота)
У меня есть таблица в mysql (скажем, studentinfo).MySql Группа от Pivot
SELECT * FROM StudentInfo;
Я хочу следующий вывод без использования каких-либо дополнительных или временную таблицу. (Может быть, с помощью группы по и поворота)
Вам нужно создать сводную таблицу, вот link с большим количеством хороших примеров.
По сути, ваш только собираюсь сделать что-то вроде этого
SELECT Rollnumber,
property
CASE WHEN Property="Name" then Property end as Name,
CASE WHEN Property="Year" then Property end as Year,
CASE WHEN Property="City" then Property end as City,
FROM whatever_table
GROUP BY Rollnumber
Вы можете изменить это, однако, вы хотите, чтобы получить результаты, которые вы хотите.
Это должно делать то, что вы хотите:
select si.Rollnumber,
max(case when si.Property = 'Name' then si.Value end) as Name,
max(case when si.Property = 'Year' then si.Value end) as Year,
max(case when si.Property = 'City' then si.Value end) as City
from StudentInfo si
group by si.Rollnumber;
Попробуйте ниже:
select * from (SELECT A.Rollnumber,if(A.Property='Name',Value,
(select B.Value from StudentInfo B where B.Property='Name' and B.Rollnumber=A.Rollnumber LIMIT 1)) as Name,
if(Property='Year',Value,
(select B.Value from StudentInfo B where B.Property='Year' and B.Rollnumber=A.Rollnumber LIMIT 1)) as Year,
if(Property='City',Value,
(select B.Value from StudentInfo B where B.Property='City' and B.Rollnumber=A.Rollnumber LIMIT 1))
as City
FROM StudentInfo A) Temp group by Rollnumber
@ Surendhar, это сработает для вас? –
SELECT
name.rollnumber,
name.value AS name,
year.value AS year,
city.value AS city
FROM
StudentInfo name
INNER JOIN StudentInfo year ON name.rollnumber = year.rollnumber
INNER JOIN StudentInfo city ON name.rollnumber = city.rollnumber
WHERE
name.property = 'name' AND
year.property = 'year' AND
city.property = 'city' AND
Что вы пытались достичь желаемого выхода? Измените свой вопрос с помощью своей попытки. –
Я смутился, чтобы объединить группу и поворот, и я застрял там сам. – Nageswaran