2017-01-29 2 views
0

Это мой запрос:не могу понять, почему SQL запрос возвращает объект пустой

$query = "SELECT st.AmountSetElec, st.AmountSetGas, st.StartDate, 
       st.EndDate, st.ElecCharge, st.GasCharge 
       ec.ElecEnergy,ec.GasEnergy ec.Date , 
       c.ElecCharge, c.GasCharge 
FROM energytarget st INNER JOIN 
useraccount ua 
ON st.CustomerID = ua.id 
INNER JOIN 
energyconsumption ec 
ON ec.User = ua.id 
WHERE ec.Date >= 'st.StartDate' AND ec.Date <= 'st.EndDate'"; 

Цель: Моя цель здесь, чтобы вернуть потребление энергии газа и электроэнергии между 01.01.2017 и 01/02/2017. Следовательно, у меня есть оператор WHERE, в котором указано, что записи, которые должны быть возвращены, - это те, у которых есть дата между датой начала и датой окончания, указанной в другой таблице.

Я знаю, что я где-то ошибся, но, похоже, не могу точно определить это.

Был бы очень признателен за отзыв о том, что случилось с моим запросом.

+0

'c.ElecCharge, c.GasCharge' должны быть' ec.ElecCharge, ec.GasCharge' –

+0

Вы должны добавить дополнительную информацию - полный фрагмент кода, показывающий возвращаемый объект. –

+1

Две отсутствующие запятые - '... st.GasCharge ec.ElecEnergy ...' и '... ec.GasEnergy ec.Date ...' –

ответ

0

Очевидно, что может быть несколько ошибок - ссылки на плохие таблицы и столбцы приходят на ум. Но очевидным является одинарные кавычки в where. Попробуйте удалить их:

WHERE ec.Date >= st.StartDate AND ec.Date <= st.EndDate 

Сравнивая столбец Date в строку, например, как 'st.StartDate' не имеет смысла.

+1

Привет, я удалил одинарные кавычки, но проблема по-прежнему сохраняется – HorribleCoder

0

Попробуйте

$query = "SELECT st.AmountSetElec, st.AmountSetGas, st.StartDate, 
       st.EndDate, st.ElecCharge, st.GasCharge 
       ec.ElecEnergy,ec.GasEnergy, ec.Date , 
       ec.ElecCharge, ec.GasCharge 
FROM energytarget st INNER JOIN 
useraccount ua 
ON st.CustomerID = ua.id 
INNER JOIN 
energyconsumption ec 
ON ec.User = ua.id 
WHERE ec.Date >= st.StartDate AND ec.Date <= st.EndDate"; 
+0

Решено ли? – jophab

Смежные вопросы