Мемо-поля в sql
Добавлено: 12 мар 2009, 12:26
				
				Кто-нибудь знает, как достать мемо-поле в SQL - запросе? ) Поле LVar в MS SQL имеет тип bit. Я так понял, если есть данные, то 1, если нет - 0.. Но что с этим делать? )
			Обсуждение различных вопросов, связанных с сопровождением, администрированием и программированием
https://ns1.tyumbit.ru/
Код: Выделить всё
select notes.nrec, notes.note
from contdoc, notes
where
((
Root         == notes.note and
contdoc.nrec == notes.owner and
3002         == notes.choice and
NRECPARTDOC  == contdoc.cpart and
NRECPERSON   == contdoc.person
));
Код: Выделить всё
-->> Получаем код таблицы t$docinfo <<--
declare @di_filecode int
select top 1 @di_filecode = xf$code from galbase.dbo.x$files where xf$name = 'docinfo'
-->> Получаем все текстовые записи из МЕМО-полей <<--
select
	[docinfo_name] = docinfo.f$name,
	[mem_data] = cast(substring(mem.m#data, 4, 255) as varchar(255))
from
	galbase.dbo.t$dogovor dogovor with(nolock)
	left join galbase.dbo.t$docinfo docinfo with(nolock) on docinfo.f$cdoc = dogovor.f$cnrec
	left join ( select m#nrec, m#data 
				from galbase.dbo.xx$memo with(nolock)
				where m#code = @di_filecode ) mem on docinfo.f$nrec = mem.m#nrec 
where
	docinfo.f$textdata = 1 
and	docinfo.f$doctype <> 150
Код: Выделить всё
-->> Получаем код таблицы t$allmemo <<--
declare @am_filecode int
select top 1 @am_filecode = xf$code from galbase.dbo.x$files where xf$name = 'allmemo'
select
	[katos_name] = katos.f$nameos,
	[katos_innum] = katos.f$innum,
	[memo_data] = cast(substring(isnull(mem.m#data, ''), 4, 255) as varchar(255))
from
	galbase.dbo.t$katos katos with(nolock)
	left join galbase.dbo.t$allmemo AllMemo with(nolock) on Katos.f$NRec = AllMemo.f$cRec and AllMemo.f$wTable = 3000 -- характеристика
	left join ( select m#nrec, m#data 
				from galbase.dbo.xx$memo with(nolock)
				where m#code = @am_filecode ) mem on AllMemo.f$nrec = mem.m#nrec
where
	katos.f$isleaf = 1
--and	AllMemo.f$Tip  = 0 --  ?? txt
--and	AllMemo.f$Name = 'KatOs.Proper'