Мне нравится писать запрос примерно так, как показано ниже, где столбец xX_role подсчитывает строку больше, чем 1. Как это сделать. Ниже что-то подобное я пытаюсь сделать. Я пытаюсь фильтровать данные с одинаковыми значениями столбцов.Использование «group by» и «having» в запросе
Select
scrs.requestid,
scr_remedy,
type,
workstream,
system,
status,
scrs.release,
assigned_to,
`role`,
LEFT(role, 7) as 'xx_role',
MID(role, 5,3) as 'roleid'
from
scrs,
tblscr_role
GROUP BY 'xx_role'
HAVING
(scrs.requestid = tblscr_role.requestid)
and (scrs.release = 'GROUP6' OR scrs.release = 'ER_JUNE15' OR scrs.release = 'ER_APR_15')
and Count('xx_role') > 1
На простейшем уровне речь идет о цитировании. Удаление одиночных кавычек из 'xx_role' будет иметь некоторый эффект, но, возможно, не вернет желаемый результат. Я замечаю, что между этими двумя таблицами не существует условия соединения, или есть в HAVING, но оно принадлежит WHERE. В любом случае использование '' xx_role'' с кавычками заставляет MySQL интерпретировать его как литеральную строку, а не псевдоним/идентификатор. –
Чтобы мы с уверенностью отвечали на рабочий запрос, это помогло бы иметь образец входных строк вместе с образцом выходных строк, которые вы надеетесь получить из запроса. –