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

Вниз

Задать цикл   Найти похожие ветки 

 
Dagir ©   (2008-09-01 09:54) [0]

Из базы данных выбираем данные: из Table1 поле Docum, из Table2 - поле Date, Table3 - поле Versiya.
Получается следующая таблица:
[B] Docum[/B]  [B] Date[/B]    [B]Versiya [/B]
Doc_1    31/01/08  1
Doc_1    01/02/08  2
Doc_1                  3
Doc_2    06/01/08  1
Doc_2                  2
Doc_3    12/05/08  1
Задача следующая: для каждого из Doc1,Doc2,...выбираем строку с последней версией(для Doc1-Versiya3,для Doc2-Versiya2,для Doc3-Versiya1) и проверяем не пусто ли поле Date в этой строке, если пусто, то переходим к предыдущей версии и так пока не найдем заполненое поле.
Проблема уже начинается с того, что не знаю как осуществить выборку элементов Doc_i


 
Johnmen ©   (2008-09-01 10:18) [1]


> Из базы данных выбираем данные

Каким образом?


 
Dagir ©   (2008-09-01 10:29) [2]

select Docum,Date,Versiya from Table1 left join Table2 on Table2.doc_id = Table1.doc_id  left join Table3 on Table3.ver_id = Table2.ver_id


 
Медвежонок Пятачок ©   (2008-09-01 10:30) [3]

while not DataSet.Eof do
begin
 ...
end;


 
Dagir ©   (2008-09-01 10:45) [4]

Я знаю как задавать цикл, я не знаю как как осуществить выборку элементов Doc_i
в столбце Docum, если эти элементы повторяются


 
Медвежонок Пятачок ©   (2008-09-01 10:48) [5]

Я знаю как задавать цикл
Зачем тогда вопрос про цикл?

а выборку ты уже сделал селектом.


 
Johnmen ©   (2008-09-01 10:50) [6]

Если принять, что номера версий возрастают с возрастанием даты (для упрощения запроса), то:
SELECT Docum,MAX(SuperDate),MAX(Versiya)
FROM Table1
LEFT JOIN Table2 ON Table2.doc_id = Table1.doc_id  
LEFT JOIN Table3 ON Table3.ver_id = Table2.ver_id
WHERE SuperDate IS NOT NULL
GROUP BY Docum

PS
Зарезервированными словами не стОит называть свои объекты. В данном случае поля.


 
Sergey13 ©   (2008-09-01 11:41) [7]

> [0] Dagir ©   (01.09.08 09:54)
> из Table1 поле Docum, из Table2 - поле Date, Table3 - поле Versiya.
А к чему относится дата? Если к документу или версии, ИМХО странно держать ее в отдельной таблице.


 
evvcom ©   (2008-09-01 15:44) [8]


> [6]

И LEFT JOIN логичнее заменить на INNER JOIN



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

Форум: "Базы";
Текущий архив: 2009.04.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
15-1235131897
dumka
2009-02-20 15:11
2009.04.26
Конференция


15-1235454205
JohnKOrsh
2009-02-24 08:43
2009.04.26
Не поможет ли кто с проблемой в Windows XP?


2-1236858762
Андрей (начинающий)
2009-03-12 14:52
2009.04.26
Модальная форма


2-1237132220
lonely_angel
2009-03-15 18:50
2009.04.26
Точки на карте


2-1236562614
GrieVeR-13
2009-03-09 04:36
2009.04.26
Как через API функции отследить вращение колеса мыши?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский