Uneasy Hearts Weigh the Most, и как реализовать?
можно попробовать через GROUP_CONCAT() но тогда будет одна колонка, пример с датой в Unixtime:
155703728, 1556082000
А чем дальше разбивать, регулярками или SUBSTR() LEFT()...? Дубляж и т.п.?
Судя по скриншотам, в показанных 2 строках то, что они составляют пару, определяют колонки request, stall и district. Причём у одной записи status = 0, а у второй status = 2.
Вопрос. Данные гарантируют, что записей в уникальным набором значений для этой тройки полей и парой в четвёртом поле - не более 1 + 1 = 2? если да, то как именно?
И вообще - сформулируйте нормально задачу. А то догадываться, что и по каким зависимостям надо - неблагодарное занятие...
Денис, если бы в таблице было всего 2 записи, вопроса бы не возникло. Но их там больше, верно? значит, их надо 1) делить на пары 2) определять, какая первая, а какая вторая 3) решать, что делать с записями, у которых нет пары.
Догадываться, каковы ответы на эти вопросы, никому не надо. Вы обязаны знать ответы на эти вопросы - и сообщить их нам. Если надеетесь на помощь...
Akina, Все уже решил сам. Думал есть более простые ф-ции для решения этого вопроса.
SELECT
`t_general`.`numrequest` AS `id_request`,
SUBSTRING_INDEX(GROUP_CONCAT(`t_general`.`date` ORDER BY `t_general`.`date` DESC), ',', 1) AS `r_date`,
`t_general`.`iddistrict` AS `id_area`,
`t_park`.`stall`,
-- `t_general`.`idreason` AS `id_event`,
SUBSTRING_INDEX(GROUP_CONCAT(`t_general`.`idreason`), ',', 2) AS `id_event`,
SUBSTRING_INDEX(GROUP_CONCAT(`t_general`.`date` ORDER BY `t_general`.`date` ASC), ',', 1) AS `r_date_breakage`,
SUBSTRING_INDEX(GROUP_CONCAT(`t_general`.`idstaff` ORDER BY `t_general`.`idstaff` ASC), ',', 1) AS `applicant`,
SUBSTRING_INDEX(GROUP_CONCAT(`t_general`.`idstaff` ORDER BY `t_general`.`idstaff` DESC), ',', 1) AS `operator`,
`t_general`.`note`
FROM
`t_general`
INNER JOIN
`t_park` ON `t_park`.`id` = `t_general`.`stall`
WHERE
numrequest IN (275822, 275839, 275815, 194567)
AND (action = 0 OR (action = 2 AND idreason = 25))
GROUP BY `t_general`.`numrequest`
Akina, может тогда подскажешь как? Языком болтать, что тут думал и не додумал многие горазды... Я тоже могу разное предлагать, вплоть до сопоставления таблицы с самой собой. Может, наконец, я увижу и твой вариант исполнения? Если он есть, конечно. Или тебе снова конкретики не хватает? Куда уж проще то?
Денис, Вы не ответили ни на один мой вопрос. Хотя каждый из них критичен для решения проблемы. Но если Вы, у кого проблема, не желаете работать над её решением со мной - то что Вы от меня-то хотите?
Ответил. Конкретно написал же для особо одаренных людей:
- есть таблица с одной колонкой (числовое поле), в которой две записи и только две! Больше нет и не будет. Нужно из двух строк сделать одну, где первое поле это первое значение из таблицы, а вторая колонка, соответственно, второе значение из таблицы. См. Фото выше.