Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> запрос с группировкой 
V
    Опции темы
malice_
Дата 5.11.2007, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 18.6.2007

Репутация: нет
Всего: нет



накладная:
id_invoice
id_production
amount
id_order



платежная ведомость:
id_paysheet
sum
id_order


продукция
id_production
name 
price


необходимо вывести список всех неоплаченных, либо оплаченных частично заказов.

т.е. id_invoice(id накладной), id_order (id заказа) и сумму долга



Код

SELECT id_invoice, id_order, (invoice.amount * production.price - paysheet.[sum]) AS dolg FROM invoice, paysheet, production
WHERE (
(invoice.id_order not in (select id_paysheet from paysheet)) or (invoice.id_order =paysheet.id_order)
)


 and  (invoice.amount * production.price > [sum] )

)

AND (invoice.id_production = production.id_production)

GROUP BY id_invoice, invoice.amount, production.price

заранее спасибо. 
PM MAIL   Вверх
Servena
Дата 5.11.2007, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 24.7.2007
Где: Днепропетровск

Репутация: 10
Всего: 14



Малис, по-моему тут не хватает одной таблицы, которая бы связывала между собой id_order в платежной ведомости и накладной. Или здесь составные ключи? Непонятно. Приведи, пожалуйста, что в этих таблицах ключи и какие и как эти ключи связаны
между собой (особенно интересуют внешние).
Без этого невозможно правильно объединить таблицы.
PM MAIL   Вверх
malice_
Дата 7.11.2007, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 18.6.2007

Репутация: нет
Всего: нет



Цитата(Servena @ 5.11.2007,  20:41)
Малис, по-моему тут не хватает одной таблицы, которая бы связывала между собой id_order в платежной ведомости и накладной. Или здесь составные ключи? Непонятно. Приведи, пожалуйста, что в этих таблицах ключи и какие и как эти ключи связаны
между собой (особенно интересуют внешние).
Без этого невозможно правильно объединить таблицы.

спасибо, разобралась) 
в таблице накладная сост. ключ (id_production, id_invoice), существует также таблица order (id_order, id_nakl).
по памяти:
Код

select * from
(select invoice.id_order as id_order, sum(production.price*invoice.amount) as sum1 from  invoice
inner join production on  invoice.id_production = production.id_production
group by invoice.id_order ) as p1
left join 
(select order.id_order as id_order, paysheet.sum as sum2 from order 
inner join paysheet on order.id_order =  paysheet.id_order
) as p2
on p1.id_order = p2.id_order
where sum1> sum2 or sum2 in null

PM MAIL   Вверх
Diasha
Дата 12.10.2009, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 12.10.2009

Репутация: нет
Всего: нет



у меня тоже задача с группировкой, 

Фамилия,Имя,Отчество,Наименование_орг, Телефон_орг, Адрес_орг , Статистика_орг

Данные содержат статистику по работникам в организациях, надо выбрать общую статистику для организации


Наименование_орг     Телефон_орг      Адрес_орг      Статистика_орг(общая) Количество_работников


select наименование, sum(статистика), count(код) 
from таблица
where адрес  like '%город%'
group by Наименование
order by наименование


как выбрать остальные поля - адрес, телефон??? их группировать не надо!

помогите пжлст...заранее спасибо
PM MAIL   Вверх
Itsys
Дата 12.10.2009, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1338
Регистрация: 21.1.2008
Где: г. Москва

Репутация: 1
Всего: 34



В результирующую таблицу можно вывести только группируемые поля и агрегатные функции.

Цитата(Diasha @  12.10.2009,  19:53 Найти цитируемый пост)
 их группировать не надо

А что мешает их сгруппировать?
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.1029 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.