Запрос для нескольких столбцов одного поля

beunas У меня есть запрос со следующим запросом mysql. Я хотел собрать все заметки о различных заданиях некоторых учеников, в которых каждое задание содержит столбец, а под примечаниями этого задания - единственное, что у меня есть sche в каждом столбце. Имена задач скремблированы с другим столбцом с примечаниями, и я хочу, чтобы каждая задача в столбце. затем создайте запрос, который отправляет мне следующую ошибку Subquery returns more than 1 row

рассматриваемый запрос:

SELECT DISTINCT
    u.username AS cedula,
    u.firstname AS nombre,
    u.lastname AS apellido,
    u.email AS correo,
    c.fullname,
    c.shortname,
IF
    (
        gi.itemname = 'Trabajo Individual#2',
        '0',
        (
        SELECT
        IF
            ( gg.finalgrade IS NULL, '0', ROUND( gg.finalgrade / gg.rawgrademax * 100, 2 ) ) AS porcentaje 
        FROM
            mdl_course AS c
            JOIN mdl_context AS ctx ON c.id = ctx.instanceid
            JOIN mdl_role_assignments AS ra ON ra.contextid = ctx.id
            JOIN mdl_user AS u ON u.id = ra.userid
            JOIN mdl_grade_grades AS gg ON gg.userid = u.id
            JOIN mdl_grade_items AS gi ON gi.id = gg.itemid 
        WHERE
            c.shortname = '001-IA-42-19-03-G1' 
            AND gi.courseid = c.id 
            AND gi.itemname = 'Trabajo Individual#2' 
        GROUP BY
            u.username 
        ) 
    ) AS porcentaje1,
    FROM_UNIXTIME( gi.timemodified ) TimeModified 
FROM
    mdl_course AS c
    JOIN mdl_context AS ctx ON c.id = ctx.instanceid
    JOIN mdl_role_assignments AS ra ON ra.contextid = ctx.id
    JOIN mdl_user AS u ON u.id = ra.userid
    JOIN mdl_grade_grades AS gg ON gg.userid = u.id
    JOIN mdl_grade_items AS gi ON gi.id = gg.itemid
    JOIN mdl_course_categories AS cc ON cc.id = c.category 
WHERE
    c.shortname = "001-IA-42-19-03-G1" 
    AND gi.courseid = c.id 
GROUP BY
    u.username

Если кто-нибудь может мне помочь

0
задан 27.11.2019, 22:48
1 ответ

Ошибка исходит из, что суб-консультация, которая у тебя есть, возвращает тебя mÃ: s реестра, где ты должен помещать atenci¦n, он в:

SELECT
IF ( gg.finalgrade IS NULL, '0', ROUND( gg.finalgrade / gg.rawgrademax * 100, 2 ) ) AS porcentaje 
FROM
mdl_course AS c
JOIN mdl_context AS ctx ON c.id = ctx.instanceid
JOIN mdl_role_assignments AS ra ON ra.contextid = ctx.id
JOIN mdl_user AS u ON u.id = ra.userid
JOIN mdl_grade_grades AS gg ON gg.userid = u.id
JOIN mdl_grade_items AS gi ON gi.id = gg.itemid 
WHERE
c.shortname = '001-IA-42-19-03-G1' 
AND gi.courseid = c.id 
AND gi.itemname = 'Trabajo Individual#2' 
GROUP BY
u.username 

и видеть, что он показывает тебе консультацию, только deber¦, - чтобы показывать реестр, если ты хочешь, чтобы оно функционировало как ожидание.

, Поскольку я не могу видеть ни структуру твоих подмостков ни реестров, - в único, что podr¦, - чтобы помогать тебе, если ты поднимаешься mÃ: s informaci¦n относительно структуры и реестров podr¦, - чтобы издавать ésta ответ. ;) Привет

0
ответ дан 01.12.2019, 10:45

Теги

Похожие вопросы