powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Одним запрсом
3 сообщений из 3, страница 1 из 1
Одним запрсом
    #32120595
Anton_new
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть две таблицы T1 и T2 имеющие поля a1,a2,sum1 и b1,b2,sum2 соответственно.
Можно ли одним SQL запросом получить следующею выборку:
1) A1,a2, sum1-sum2 если a1=b1 и a2=b2
ну это легко, что то типа
select a1, a2, sum1-sum2
from таблицы
where a1=b1 and a2=b2

в объединить с

2) a1,a2, sum1
если для a1 и a2 не нашлось соответствующих записей в Т2.

Например T1:
Aaa bbb 10
Aaa ccc 20
Bbb ccc 30

T2:
Aaa bbb 3
Aaa ccc 6


То запрос должен выдавать:
Aaa bbb 7
Aaa ccc 14
Bbb ccc 30

Чую что просто, но как понять не могу. Помогите плиз.
...
Рейтинг: 0 / 0
Одним запрсом
    #32120604
m_kus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Синтаксис зависит от базы данных. В Oracle можно написать так:
Код: plaintext
1.
2.
 SELECT a1, a2, sum1-NVL(sum2, 0 ) FROM t1, t2
 WHERE a1=b1(+) AND a2=b2(+)
...
Рейтинг: 0 / 0
Одним запрсом
    #32120642
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в MS SQL - так
Код: plaintext
1.
2.
3.
select a1,b1,sum1-isnull(sum2, 0 ) from t1 
left outer join t2 
on (a1=a2 and b1=b2)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Одним запрсом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]