Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.10.31;
Скачать: [xml.tar.bz2];

Вниз

помогите с алгоритмом   Найти похожие ветки 

 
linuxoid   (2010-08-10 09:52) [0]

Здравствуйте! помогите составить алгоритм для сравнения элементов  в базе.
есть две таблицы:
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. так должны сделать для всех записей с первой таблицы.


 
Ega23 ©   (2010-08-10 09:58) [1]

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


 
Ega23 ©   (2010-08-10 10:02) [2]

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


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

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

truе за 0
false за 1

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


 
linuxoid   (2010-08-10 10:30) [4]

спс!

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

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

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


 
12 ©   (2010-08-10 10:35) [5]


> linuxoid   (10.08.10 10:30) [4]

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

если и true и false , то

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



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.10.31;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.003 c
15-1279830573
Юрий
2010-07-23 00:29
2010.10.31
С днем рождения ! 23 июля 2010 пятница


2-1280816243
skat
2010-08-03 10:17
2010.10.31
Можно ли вставлять в БД Paradox файлы(любые)


2-1280958303
Ярослав
2010-08-05 01:45
2010.10.31
D2010 и ресурсы


15-1279890684
aka
2010-07-23 17:11
2010.10.31
Сетевая игра


4-1240815594
Валигози
2009-04-27 10:59
2010.10.31
Как корректно прекратить отладку?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский