Как одним запросом получить полное имя файла док. архива?
- Александр
- Активный участник
- Сообщения: 1652
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
Как одним запросом получить полное имя файла док. архива?
Никто не покажет SQL примерчик
Начальные условия
-есть id карточки документа id_card
-в электронном открытом архиве есть документ привязанный к этой карточке - с расширением xml
Нужно получить полный путь (полный путь+полное имя файла) к нулевой версии файла, чтобы передать его потом в виде строки в vbscript
как это можно сделать в одном запросе? а то в таблицах потерялся уже
Начальные условия
-есть id карточки документа id_card
-в электронном открытом архиве есть документ привязанный к этой карточке - с расширением xml
Нужно получить полный путь (полный путь+полное имя файла) к нулевой версии файла, чтобы передать его потом в виде строки в vbscript
как это можно сделать в одном запросе? а то в таблицах потерялся уже
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
- Александр
- Активный участник
- Сообщения: 1652
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
Re: Как одним запросом получить полное имя файла док. архива?
что-то типа вот такого
ну тут номера версии нет в имени файла.... и расширение не учитывается...
вместо этоговыводит такое
да и сам запрос вроде не очень оптимальный...
в общем нужна помощь да и имя файла хотел увидеть не кодированное а первоначальное (чтобы дальше отдать правильный путь к файлу и дополнительно исходное - название файла) - ... но это вообще не знаю как достать...
Код: Выделить всё
select top(1)(select path from lsdbo.storage_v v where v.id=f.storage_id)+file_path+file_name
from LSDBO.File_V f,
LSDBO.object_reference_view o
where f.object_reference_id=o.ID
and f.object_reference_id=(
тут ищу(своей функцией) все дочерние (от родителя 100001241400044) карточки документов
select id from lsdbo.ric_get_objChild(100001241400044,'Docs,Doc'
)
where description='Схема проезда')
вместо этого
Код: Выделить всё
\\crm\Base_for_Lotsia\Departments\Документы\Схема проезда\Григорьева Елена Андреевна\51R00.doc
Код: Выделить всё
\\crm\Base_for_Lotsia\Departments\Документы\Схема проезда\Григорьева Елена Андреевна\51R.doc
в общем нужна помощь да и имя файла хотел увидеть не кодированное а первоначальное (чтобы дальше отдать правильный путь к файлу и дополнительно исходное - название файла) - ... но это вообще не знаю как достать...
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
- Anderyt
- Активный участник
- Сообщения: 777
- Зарегистрирован: 15 июл 2004, 13:15
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Тюмень
- Контактная информация:
Re: Как одним запросом получить полное имя файла док. архива?
если быстро - то:
это вот эти таблицы
но в имя файла нужно еще вставить номер версии, так как в таблице file_v хранится имя для документа, а не для версии документа..
там надо видимо как то страку разрезать, я не соображу пока... ну, наверное ты сам додумаешь
Код: Выделить всё
select top 100 s.path+f.file_name
from lsdbo.file_v f, lsdbo.storage_v s
where
f.storage_id = s.id
но в имя файла нужно еще вставить номер версии, так как в таблице file_v хранится имя для документа, а не для версии документа..
там надо видимо как то страку разрезать, я не соображу пока... ну, наверное ты сам додумаешь
лучше день потерять, потом за пять минут долететь!
- Александр
- Активный участник
- Сообщения: 1652
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
Re: Как одним запросом получить полное имя файла док. архива?
6700 файлов эт круто конечно (у тебя наверно их тысячи!!!!)
ладно... может Юрий или СК и Disillusioned что подскажут....
все равно спасибо!
глубоко запрятали!!!! - думал есть стандартная процедура (запрос)
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
- Anderyt
- Активный участник
- Сообщения: 777
- Зарегистрирован: 15 июл 2004, 13:15
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Тюмень
- Контактная информация:
Re: Как одним запросом получить полное имя файла док. архива?
а если это:
Код: Выделить всё
select top 100 s.path+substring(f.file_name, 1,charindex('.', f.file_name)-1)+'00'+substring(f.file_name, charindex('.', f.file_name),len(f.file_name))
from lsdbo.file_v f, lsdbo.storage_v s
where
f.storage_id = s.id
лучше день потерять, потом за пять минут долететь!
- Anderyt
- Активный участник
- Сообщения: 777
- Зарегистрирован: 15 июл 2004, 13:15
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Тюмень
- Контактная информация:
Re: Как одним запросом получить полное имя файла док. архива?
"страку"...Anderyt писал(а):там надо видимо как то страку разрезать, я не соображу пока...
копец... на покой, срочно на покой!
лучше день потерять, потом за пять минут долететь!
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
Re: Как одним запросом получить полное имя файла док. архива?
Сейчас не скажу - дома базы под рукой нет. Но по-моему в табличке File_ver есть колонка ver_label. Наверное, это и есть номер версии. Так что, наверное, File1.id = File_ver.file_id - и "все в твоих руках", как поет Анжелика Варум
Anderyt: "стрАка" - в отпуск пора. Раньше за тобой такого не замечал
Anderyt: "стрАка" - в отпуск пора. Раньше за тобой такого не замечал
"Лучше меньше, да лучше" (C)
-
- Активный участник
- Сообщения: 239
- Зарегистрирован: 13 янв 2005, 14:30
- Используемое ПО: Lotsia PDM PLUS LT
- Откуда: Украина, Донецк
- Контактная информация:
Re: Как одним запросом получить полное имя файла док. архива?
Держи
Код: Выделить всё
select st1.id storage_id, st1.Path,
'fn1'=case
when patindex('%.%_',fl1.file_name)=0 then fl1.file_name+fv1.ver_label
else substring(fl1.file_name, 1, patindex('%.%_',fl1.file_name)-1)+
fv1.ver_label+substring(fl1.file_name, patindex('%.%_',fl1.file_name),
len(fl1.file_name)-patindex('%.%_',fl1.file_name)+1)
end,
--fn1,
fl1.object_reference_id object_id, fl1.id file_id, fv1.id ver_id, fv1.orig_filepath
from LSDBO.File1 fl1
inner join LSDBO.file_ver fv1 on fl1.id=fv1.file_id
inner join LSDBO.Storage st1 on fl1.storage_id=st1.id
- Александр
- Активный участник
- Сообщения: 1652
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
Re: Как одним запросом получить полное имя файла док. архива?
ЭТО ТО ЧТО НУЖНО!!!
Спасибо!
Спасибо!
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный