У меня есть таблица, в которой я веду различные счетчики (счетчик воды, счетчик электроэнергии), а в другой таблице я храню показания для каждого счетчика.Структура таблицы выглядит следующим образом: Таблица счетчиков
MeterID | MeterType | MeterName
Таблица показаний:
ReadingID | MeterID | Index | DateOfReading
Показания счетчика считываются ежемесячно.То, что я сейчас пытаюсь сделать, - это собрать информацию об измерителе, текущее значение и предыдущее значение в одну строку.Поэтому, если бы у меня был запрос, получилась бы следующая строка:
MeterID | MeterType | MeterName | CurrnetIndex | LastIndex
Пока у меня следующий запрос:
SELECT Meter.MeterID, Meter.MeterType, Meter.MeterName, CurrentReading.Index, PreviousReading.Index
FROM Meters AS Meter
LEFT OUTER JOIN Readings AS CurrentReading ON Meter.MeterID = CurrentReading.MeterID
LEFT OUTER JOIN Readings AS PreviousReading ON Meter.MeterID = PreviouseReading.MeterID
WHERE CurrentReading.ReadingID != PreviousReading.ReadingID AND DIMESTAMPDIFF(MONTH, CurrentReading.DateOfReading, PreviousReding.DateOfReading)=-1
Проблема в том, что у меня может не быть текущегочтение или предыдущий, или оба, но мне все еще нужно было бы получить информацию о счетчике.Для меня вполне приемлемо получить пустые столбцы, но мне все еще нужна строка:)