Этот сайт не наркоманов. Это сайт программистов.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха информатор 3.1
Еще более удобное оповещение о флуде!

Краснодарское время: 25 Май, 2012, 04:44:43

Страниц: [1]
Печать
Автор Тема: SQL запорс  (Прочитано 245 раз)
0 Пользователей и 1 Гость смотрят эту тему.
php_vasia    ↓ 
14 Октябрь, 2010, 09:35:48
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 81
Сила слова: 0

Есть таблица плана:
-индекс детали
-дата
-количество деталей
 
и таблица изготовленных деталей
-индекс детали
-количество изготовленных.
 
Необходимо написать SQL. Который бы складывал все количество деталей из таблицы 1 и отнимал это из второй таблицы
 
Например, таблица 1
X     01-11-10    10
X     03-11-10    3
X     05-11-10    6
Y     01-11-10    5
сегодняшнее число     04-11-10
таблица 2
Z      20
X      17
Y      3
 
в итоге должно получиться:
X     05-11-10    2
Y     01-11-10    2
 
  
Записан
phpdude    ↓ 
14 Октябрь, 2010, 09:38:43 , спустя 2 минуты 55 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: 20790
Сила слова: 1.65

SQL запор
блядь, пятница завтра, вы что творите то?!
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Frozzeg    ↓ 
14 Октябрь, 2010, 09:40:38 , спустя 1 минуту 55 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Пятросянище

Карма: 92
Сообщений: 5499
Сила слова: 1.67

xaxaxaxa
Записан

Эксперт — это человек, который в узкой области допустил все возможные ошибки. © Нильс Бор.
Отложить на завтра — значит впасть в рекурсию. © Frozzeg
artoodetoo    ↓ 
14 Октябрь, 2010, 10:37:30 , спустя 56 минут 52 секунды
НЕ ХУЕТА! ХУЕТА!

с особым цинизмом
Группа: в ухо

Карма: 124
Сообщений: 3805
Сила слова: 3.26

И НИ СЛОВА ПРО DELPHI, ЗАМЕТЬТЕ! )))
 
Что за БД подразумевается? В разных базах могут быть свои тонкости и ограничения. Такой запрос
SQL
SELECT n, max(d), sum(cnt)
FROM table1
GROUP BY n
теоретически должен вернуть то, из чего ты собрался отнимать.
 
Теперь клеим две таблицы и отнимаем.
SQL
SELECT t1.n, t1.maxd, (t1.cntsum-t2.cnt) AS cnt
(SELECT max(d) AS maxd, sum(cnt) AS cntsum FROM table1 GROUP BY n) AS t1
INNER JOIN table2 AS t2 ON t1.n=t2.n
Записан
Страниц: [1]
Печать
 

Перейти в:  

Этот топик скрыли: adw0rd, Sinkler