Моя проблема в том, что у меня есть оператор Select, который имеет предложение where, которое генерируется на лету.Это объединено через 5 таблиц.
Мне в основном нужен счетчик каждого экземпляра DISTINCT идентификатора пользователя в таблице 1, который входит в область действия WHERE.Это также должно быть выполнено в одном операторе.Так что, по сути, я не могу сделать глобальный GROUP BY из-за данных из 4 других таблиц, которые мне нужно вернуть.
Если бы я мог получить столбец с дублированным счетчиком, где столбец первичного ключа был бы идеальным.Прямо сейчас это то, на что я смотрю как на мой запрос:
SELECT *
FROM TBL1 1
INNER JOIN TBL2 2 On 2.FK = 1.FK
INNER JOIN TBL3 3 On 3.PK = 2.PK INNER JOIN TBL4 4 On 4.PK = 3.PK
LEFT OUTER JOIN TBL5 5 ON 4.PK = 5.PK
WHERE 1.Date_Time_In BETWEEN '2010-11-15 12:00:00' AND '2010-11-30 12:00:00'
ORDER BY
4.Column
, 3.Column
, 3.Column2
, 1.Date_Time_In DESC
Так что вместо выбора всех столбцов я буду фильтровать его примерно до 5 или 6, но с этим мне нужно что-то вроде Totalстолбец, который является отличительным счетчиком первичного ключа TBL1, в котором применяется предложение WHERE, которое может увеличиваться или уменьшаться в размере.
Я почти хотел бы, чтобы был способ применить то же предложение WHERE к подвыборке, потому что я понимаю, что это сработает, но не знаю другого способа, кроме создания переменной и просто размещения ее в обоих местах, которыетоже не могу.