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

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

помогите с алгоритмом


linuxoid ©   (2010-08-10 09:52:00) 

Здравствуйте! помогите составить алгоритм для сравнения элементов  в базе.
есть две таблицы:
firsttable
id_f   |  name     | status
1       name1      false
2       name2      true
3       name3      false

secondtable
id_s   |  name     | status  | n_id_f
1       data1        false         1
2       data2        false         1
3       data3        true         1
4       data4        false         1
5       data5         true         2
6       data6        true        2
5       data7         false         3
6       data8        false       3

задача такая
делаем запрос (select * from secondtable where n_id_f=:firsttable.id_f)
отсюда мы получим первые четыре записи, затем должны проверить их статусы. если все равны  true, то в статус для записи в первой таблице, где id_f=1, ставим true. если все false то false. если смешанный - false. так должны сделать для всех записей с первой таблицы.


12   (2010-08-10 10:35:00) [1]


> linuxoid   (10.08.10 10:30) [4]

ты сейчас к кому?
[3] или [1]?
если 3, то

если и true и false , то

сумма с группировкой по n_id_f
если =0, все были true
если =count(), все были false
от 0 до count() - были и те и те


linuxoid   (2010-08-10 10:30:00) [2]

спс!

вот еще один вопрос.
а если будет три исхода.

если все true = 0
если все false = 1
если и true и false =  -1(или по-другому обозначить)

как здесь поступить?


12   (2010-08-10 10:03:00) [3]

все это можно запросом сделать

truе за 0
false за 1

сумма с группировкой по n_id_f
если =0, все были true -> true
если >0, были false -> false


Ega23   (2010-08-10 10:02:00) [4]

Это если я правильно постановку задачи понял.


Ega23   (2010-08-10 09:58:00) [5]

update t1 set t1.status = t1.status && t2.status
from firsttable t1 inner join second table t2 on t1.id_f=t2.id_s


Наверх

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