Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Все тот же Sql ! [D6, Paradox]


Kati ©   (2003-07-02 10:06:00) 

Мучаюсь с таким запрсом.Надо соединить 2 таблицы через равенство Opl.Tn=En.Tn т.е.
Select En.Tn,En.FIO,En.N_kv,En.Opl_zpl,En.Alls,En.Korrect,Opl.Tn,Opl.Fam from "Energ_pl.db" En,"Opl_enk.db"Opl
where En.Alls>0 and en.tn=opl.tn
group by En.Tn,En.FIO,En.N_kv,En.Opl_zpl,En.Alls,En.Korrect,Opl.Tn,Opl.Fam
Это получается, но надо еще вывести записи из Energ_pl.db, которые не удовлетворяют этому условию но поле En.Alls>0.
Надеюсь на вашу поддержку(не хочется на sql.ru)


Kati   (2003-07-02 11:45:00) [1]

Жук © (02.07.03 10:44)
Простите,снимаю свой вопрос. Дошло.
Благодарствую!


Жук   (2003-07-02 11:30:00) [2]


> Johnmen © (02.07.03 11:10)

Я понял так : все записи из первой таблицы, удовлетворяющие неравенству + все записи из второй, удовлетворяющие равенству.


Kati   (2003-07-02 11:29:00) [3]

Жук © (02.07.03 10:44)
group by - мне все равно будет необходимо,для подсчета сумм и количества
И еще раз - что дает distinct ? Отличный от чего?

Johnmen © (02.07.03 11:10)
С помощью FULL JOIN и условий я добилась чего хотела. Спасибо!


Johnmen   (2003-07-02 11:10:00) [4]

>Kati

М.б. тебе надо полное соединение ? FULL JOIN


Жук   (2003-07-02 10:44:00) [5]


> Kati (02.07.03 10:33)
> А для чего distinct ?


А для чего group by ? :-)


Kati   (2003-07-02 10:33:00) [6]

Попробую иначе:
Есть таблица начислений и таблица оплаты.Необходимо получить оборотную ведомость - свод. Могут быть записи начисление без оплаты, и оплаты без начисления (долги)
Жук © (02.07.03 10:18)
А для чего distinct?


Жук   (2003-07-02 10:18:00) [7]

select distinct En.Tn,En.FIO,En.N_kv,En.Opl_zpl,En.Alls,En.Korrect,Opl.Tn,Opl.Fam from "Energ_pl.db" En left join "Opl_enk.db"Opl on en.tn=opl.tn
where En.Alls>0

Не очень понятно. Может так ?


Zacho   (2003-07-02 10:15:00) [8]

1.Зачем здесь GROUP BY ? GROUP BY нужен толькодля работы с агрегатными функциями.
2. Ничего не понял насчет условия, можно подробнее ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо