У меня есть знание SQL Server, а также возможность выполнять большинство базовых запросов. Тем не менее, я застрял и нуждаюсь в некоторой помощи с этим. У меня есть 6 связанных таблиц, из которых мне нужно получить набор данных.SQL Statement - слишком глупый, чтобы понять это
Таблицы следующим образом:
MTMeterReadings
МР-
- Фактический
- GroupID
- MeterID
- CreateDate
MTMeterReadingGroups
мг
- MeterReadingGroupID
- MeterSourceID
- EquipmentID
MTMeterSources
мс
- MeterSourceID
- Описание
MTMeters
м
- MeterID
- Описание
SCEquipment
экв
- EquipmentID
- CustomerID
ARCustomers
гр
- CustomerID
- CustomerName
Мой желаемый набор результаты, чтобы показать следующие данные для каждой фактической записи в таблице, где MTMeterReadins mr.CreateDate> «мм/дд/YYY «:
mr.actual | mr.CreateDate | ms.description | e.EquipmentID | c.CustomerName
до сих пор я был в состоянии создать запрос со всем, что нужно, кроме c.CustomerName
, но просто не может показаться, что все это происходит (я могу время от времени участвовать в вызове).
Любая помощь с этим очень ценится.
Прошу прощения, но я не знал, будет ли полезен запрос, который у меня уже был, или нет.
Вот что у меня есть, что дает все, что я хочу, за исключением имени клиента:
SELECT
mg.EquipmentID,
CAST(mr.Actual AS decimal(12, 0)) AS Meter,
CAST(mr.CreateDate AS DATE) AS MeterDate,
ms.MeterSource, m.Description
FROM
MTMeterReadings AS mr
INNER JOIN
MTMeterReadingGroups AS mg ON mr.MeterReadingGroupID = mg.MeterReadingGroupID
INNER JOIN
MTMeterSources AS ms ON mg.MeterSourceID = ms.MeterSourceID
INNER JOIN
MTMeters AS m ON mr.MeterID = m.MeterID
WHERE
(mr.CreateDate >= '01/01/2014') AND (mr.CreateDate <= '02/20/2015')
ORDER BY
MeterDate DESC, mg.EquipmentID, m.Description
Однако все попытки, которые я сделал, чтобы добавить CustomerName
дает кратное записей, которые я имею в mr
таблице. Я не могу точно сказать, что такое моя ошибка, но я предполагаю, что это неправильное соединение. Возможно, это просто для кого-то с большим мозгом SQL, чем я, но это далеко не входит в мою основную базу знаний, когда я изучил SQL из книги SAMS «Teach Yourself SQL за 10 минут».
Итак, вы собираетесь показать нам, что у вас есть до сих пор? –
Если у вас есть первые четыре поля, кажется, что это еще одно соединение от SCEquipment с ARCustomers с использованием полей CustomerID. Есть ли еще какие-то осложнения? –