Abheenav Sayankar Ответов: 3

Запрос на "суммировать поле суммы на основе inv_no и даты>=1/1/1992"?


Я получаю проблему в написании запроса, но это не удается, пожалуйста, помогите

Пожалуйста, помогите..его беспокоит с давних пор

Что я уже пробовал:

Мне это очень нравилось,
select id, empname,invoice no,amount from(select sum(amount) from employees group by invoice no ) where date>= '1-1-1992';

Данные, которые я извлекаю после указанной в запросе даты...
пожалуйста помочь

CHill60

Если вам нужно обновить свой вопрос, используйте Улучшить вопрос ссылка. Добавление решения удаляет ваш вопрос из списка неотвеченных сообщений, и меньше людей будут смотреть на него.
Также убедитесь, что вы говорите нам, что не так "его неудача" не является информативной.

3 Ответов

Рейтинг:
2

CHill60

Есть несколько проблем с вашим запросом, некоторые из этих проблем также существуют с запросом в решении 3.

1. Избегайте использования зарезервированных слов для имен столбцов. Если вы используете зарезервированное слово, то вы должны окружить имя столбца квадратными скобками, так что столбец date следует упоминать как [date]

2. точно так же имена столбцов не должны иметь пробелов, они также должны быть заключены в квадратные скобки, т. е. invoice no должно быть [invoice no]

3. порядок предложений в вашем запросе неверен - WHERE пункт поставляется до то GROUP BY нет, не после.

4. Если вы собираетесь использовать подзапросы, то каждому из возвращаемых элементов должно быть присвоено псевдонимное имя, чтобы быть включенным во внешний запрос, например (но см.)

select sum(amount) AS Amt from employees group by invoice no 
5. также по теме подзапросов, если вы собираетесь их использовать, то вам нужно получить все из элементов, на которые вы позже попытаетесь сослаться, т. е. id, empname, прием

6.для этого вам не нужен подзапрос.

7.при использовании дат лучше использовать менее двусмысленный формат гггг-ММ-ДД. Мы не можем сказать, является ли ваша дата ММ-ДД-гггг или ДД-ММ-гггг, и это может вызвать проблемы при попытке отображения или работы с датами в приложении. Дата должна быть представлена следующим образом '1992-01-01'

Принимая во внимание все вышесказанное, но с оговоркой, что вы не показали нам свою структуру таблицы, какие-либо примеры данных или ожидаемые результаты, тогда этот запрос должен работать
select id,[date], empname,[invoice no],sum(amount) as Amount from employees 
 where [date]>= '1992-01-01'
 group by id,[date],empname,[invoice no]


Рейтинг:
2

mahendra pal25

выберите id, дату, empname, invoiceno, sum (amount) в качестве суммы от сотрудников
где date>= '1-1-1992'
группу по ID,дата,столбец empname,счет№, счет №


Рейтинг:
2

Abheenav Sayankar

мне это очень нравилось,

выберите ID, столбец empname,счет№, сумма из(выбрать сумма(сумма) из группы человек по счету нет ), где дата&ГТ;= '1-1-1992';

Данные, которые я извлекаю после указанной в запросе даты...
пожалуйста помочь


CHill60

Я обновил ваш вопрос для вас-удалите это решение.