Это мой столНебольшие изменения в SQL Query
CREATE TABLE [dbo].[marks_581](
[Name] [varchar](30) NOT NULL,
[Subject] [varchar](30) NOT NULL,
[Marks] [int] NOT NULL
)
INSERT INTO marks_581
select 'Dishant','English',40 union all
select 'Dishant','Maths',45 union all
select 'Dishant','Hindi',49 union all
select 'Pranay','English',41 union all
select 'Pranay','Maths',45 union all
select 'Pranay','Hindi',50 union all
select 'Gautham','English',41 union all
select 'Gautham','Maths',45 union all
select 'Gautham','Hindi',49
select * from marks_581
And my output should be like the below one
Name |Subject1|Marks1|Subject2|marks2|Subject3|marks3
Dishant|English |40 |Maths |45 |hindi |49
Gautham|English |40 |Maths |45 |hindi |49
Pranay |English |40 |Maths |45 |hindi |49
Это мой запрос, и я не в состоянии получить имя субъекта в колонке субъектов. Он говорит, что не мог преобразовать varchar в тип данных int. Кто-нибудь мне помогает?
SELECT Name,
SUM(CASE WHEN Subject= 'English' THEN Subject ELSE 0 END) AS Subject1,
SUM(CASE WHEN Subject= 'English' THEN Marks ELSE 0 END) AS Marks1,
SUM(CASE WHEN Subject= 'Maths' THEN Subject ELSE 0 END) AS Subject2,
SUM(CASE WHEN Subject= 'Maths' THEN Marks ELSE 0 END) AS Marks2,
SUM(CASE WHEN Subject= 'Hindi' THEN Subject ELSE 0 END) AS Subject3,
SUM(CASE WHEN Subject= 'Hindi' THEN Marks ELSE 0 END) AS Marks3
FROM marks_581
GROUP BY Name
ORDER BY Name
Вы не можете 'SUM' название темы .. это не логично, и это не сработает. – OGHaza