Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2010, 10:50   #1
Tanuska___:)
Пользователь
 
Аватар для Tanuska___:)
 
Регистрация: 22.04.2008
Сообщений: 84
По умолчанию запрос SQL . есть ли решение?

имеется запрос
Код:
SELECT b.dat, c.GARN1, IIf(b![Sum-vrem]>c![Sum-vrem],1,2) AS shim
FROM (
SELECT rabota.GARN1, rabota.dat, Sum(rabota.vrem) AS [Sum-vrem]
FROM rabota
WHERE (((rabota.Shim)<2000 And (rabota.Shim)>=1000))
GROUP BY rabota.GARN1, rabota.dat
ORDER BY rabota.GARN1
) b,
(SELECT rabota.GARN1, rabota.dat, Sum(rabota.vrem) AS [Sum-vrem]
FROM rabota
WHERE (((rabota.Shim)>=2000 And (rabota.Shim)<3000))
GROUP BY rabota.GARN1, rabota.dat
ORDER BY rabota.GARN1
) c
WHERE (c.dat=b.dat) And (c.GARN1=b.garn1);
и еще
Код:
SELECT rabota.GARN1, rabota.dat, Sum(rabota.vrem) AS [Sum-vrem]
FROM rabota
WHERE (((rabota.Shim)<2000 And (rabota.Shim)>=1000))
GROUP BY rabota.GARN1, rabota.dat
ORDER BY rabota.GARN1
возможно ли составить такой запрос чтобы на выходе были значения из запроса 2 кот.нет в запрсе 1? (а именно таких же GARN1 И dat)
Если есть решение то плиз помогите)))
Tanuska___:) вне форума Ответить с цитированием
Старый 04.05.2010, 11:03   #2
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

из теории
Except или Minus
Except принимает в качестве аргументов два запроса A и В и выводит только те строки из запроса А, которые отсутствуют в результате запроса В. Окончательный результат в любом случае не будет содержать выходных данных запроса В.

Код:
{запрос А}
Select .....
From.....
.....
Except
{запрос В}
Select .....
From.....
.....

Последний раз редактировалось maLoy*508; 04.05.2010 в 11:07.
maLoy*508 вне форума Ответить с цитированием
Старый 04.05.2010, 11:19   #3
Tanuska___:)
Пользователь
 
Аватар для Tanuska___:)
 
Регистрация: 22.04.2008
Сообщений: 84
По умолчанию

а это только для sql-server или для аксессовского запроса подайдет?
просто аксесс ругвется на синтаксис
Tanuska___:) вне форума Ответить с цитированием
Старый 04.05.2010, 11:37   #4
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

Цитата:
а это только для sql-server или для аксессовского запроса подайдет?
не знаю...
попробуй в таком случае
http://programmersforum.ru/showthrea...ht=in%2C+minus
maLoy*508 вне форума Ответить с цитированием
Старый 04.05.2010, 12:04   #5
Tanuska___:)
Пользователь
 
Аватар для Tanuska___:)
 
Регистрация: 22.04.2008
Сообщений: 84
По умолчанию

попробывала так:
Код:
SELECT Запрос2.dat, Запрос2.GARN1, Запрос2.shim
FROM Запрос1 LEFT JOIN Запрос2 ON Запрос1.GARN1 = Запрос2.GARN1
WHERE (((Запрос2.dat) Not In ([Запрос1].[dat])));
но в результате больше кол-во записей чем было в запросе 2
Tanuska___:) вне форума Ответить с цитированием
Старый 04.05.2010, 12:09   #6
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

а почемуВаше сообщение слишком короткое. Оно должно быть не менее 10 символов.
Цитата:
Запрос1 LEFT JOIN Запрос2
?
maLoy*508 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi S_Yevgeniy Помощь студентам 1 27.10.2009 06:26
в БД есть запрос 6 (на выборку) s1a9s8h6a БД в Delphi 12 02.01.2009 00:48
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 18:15