Re: апрос на объединение значений записей в текстовом поле
От: Kurd  
Дата: 31.08.04 12:17
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Позволяет ли SQL построить выражение, которое объединит данные (текстовые) из нескольких записей одного поля для рассмотрения их как единой фразы?

А>Вопрос вызван следующей проблемой: в таблице необходимо хранить тексты соглашений, длина которых может быть произвольной (от 0 до x000 символов). Нелогично выделять max[x]000 символов под каждое соглашение, поэтому планируется реализовать следующий вариант:
А>установить приемлемую длину (100 символов, к примеру) для поля, и затем каждое соглашение разбивать на блоки по 100 символов. Т.о. таблица имеет вид:
А>
А>AGRIndex | AGRNumAgreement | AGRPartNum | AGRText
А>........ | ............... | .......... | .......

А>AGRIndex - Autoinc
А>AGRNumAgreement - номер соглашения
А>AGRPartNum - номер блока 
А>AGRText - текст блока
А>


А>А вопрос возникает, потому что необходимо будет осуществлять поиск по БД, используя тексты. Как вы понимаете, без полного, объединенного текста полноценный поиск невозможен.


А>Желаемое: нечто вроде

А>
А>SELECT ... LIKE "обеспечение информационнной безопасности"
А>


А>Существует ли способ объединить блоки?


На С#:

import System.data.SqlClient;
...

SqlConnection dbcn=new SqlConnection(ConnectionString);
dbcn.Open();
SqlCommand cmd=new SqlCommand("SELECT * from YourTableName WHERE AGRNumAgreement="+num.ToString(),dbcn);
SqlDataReader reader=cmd.ExecuteReader();
string agreement="";
while(reader.Read())
{
   agreement+=(string)reader["AGDText"];
}
reader.close();
dbcn.close();


В строке agreement получишь соглашениею
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.