Здравствуйте, Аноним, Вы писали:
А>Позволяет ли 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 получишь соглашениею