Простите мое невежество, прежде чем я начну, но я пытаюсь дважды ссылаться на ту же таблицу в запросе, чтобы вернуть одну строку. По какой-то причине я действительно борюсь за то, что я склоняюсь к концепции sub query/join. Для того, чтобы гарантировать, что я мог бы реально получить данные, которые я satrted с этим основным запросом:Борьба с подзапросом/JOIN
SELECT aCR
, COUNT(CASE WHEN aSID = 30 THEN 1 ELSE NULL END) AS wtng
, CASE WHEN aSID = 30 THEN DATE_FORMAT(aAT, '%d %b %H:%i') ELSE NULL END AS wAT
, COUNT(CASE WHEN DATEDIFF(aC, CURDATE()) <=30 AND aSID != 30 THEN 1 ELSE NULL END) AS rpt
, CASE WHEN DATEDIFF(aC, CURDATE()) <=30 AND asID != 30 THEN DATE_FORMAT(aAT, '%d %b %H:%i') ELSE NULL END AS rAT
FROM a
WHERE aCR = 1111111111 AND aHID = 44 GROUP BY aID
, который дал мне этот
aCR | wtng | wAT | rpt | rAT
-------------------------------------------------------------------
1111111111 | 0 | NULL | 1 | 16 Sep 12:39
1111111111 | 1 | 17 Sep 17:59 | 0 | NULL
Это право данных, но мне нужно это на одной строке таким образом:
aCR | wtng | wAT | rpt | rAT
-------------------------------------------------------------------
1111111111 | 1 | 17 Sep 17:59 | 1 | 16 Sep 12:39
Возможно, времена, когда нет совпадения с aCR, и поэтому строка не возвращается, но мне нужна строка, возвращающая, если wtng равно 1, rpt равно 1 или оба равны 1 ... И вот где я действительно изо всех сил. Я пробовал множество комбинаций подзапросов, но просто не могу их получить, поэтому я ищу помощь ... Извиняюсь заранее, если это действительно тупой вопрос или если я упускаю совершенно очевидное, но прямо сейчас я чувствовать, как будто я просто ходим по кругу ...
Действительно оценить вниз голосование, кем бы он ни был - это делает обучение гораздо больше удовольствия
Просьба представить структуру таблицы и объяснить, где t столбец 'aID' - тот, который используется в группе. –
@DaDaDom. Таблица проста. Группа была просто разделена на агрегацию COUNT. Я исправлю вопрос, включив в него структуру – Filious
@Filious: просьба указать ваши инструкции 'CREATE TABLE' и, возможно, некоторые образцы данных. –