![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 16.08.2009
Сообщений: 2
|
![]()
Здравствуйте!
Помогите решить такую вот задачку: Есть таблица вида: tblRow (ID int identity(1,1),rowdata varchar(100)) где ID автоинкрементальное поле, rowdata содержит строки вида Ivanov|Sergey|10.00|15.00|2007-10-29|15|… т.е. набор полей, разделенных “|”. Напишите SQL запросы отвечающие на вопросы ниже: а) Вывести количество строк с разным количеством разделителей б) Как посчитать сколько разделителей в строчке? в) Среднее кол-во разделителей в строках по всей таблице? Заранее огромное спасибо!!! ![]() Последний раз редактировалось Nin@; 17.08.2009 в 16:53. |
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
![]() Какая СУБД? Написание собственных функция/хранимых процедур допустимо? Задача учебная или реальная (т.е. будет использоваться практически)? |
|
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 16.08.2009
Сообщений: 2
|
![]()
Спасибо, что откликнулся
![]() Задача учебная, а вот какая СУБД все-равно, как видишь, в задании строго не указано. |
![]() |
![]() |
![]() |
#4 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
![]()
в принципе идиотизм конечно
но чтобы научиться работать с данными и, в особенности, с чужими кривыми данными вполне себе сойдет ![]() раз не идет речь про конкретную СУБД, то попробуйте использовать нечто похожее для определения кол-ва вхождений символа '|' в строку (пример для Оракла) Код:
т.е. по вопросам будет выглядеть так Код:
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
soleil@mmc, +100! Браво! заменить нужный символ на пусто (т.е. фактически удалить их из строки) и сравнить длины. Блестящий ход! мне бы такое в голову не пришло!!!
|
![]() |
![]() |
![]() |
#6 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
![]()
захочешь жить еще не так раскорячишься (с) "Особенности национальной..."
мне вот тут пришлось адреса переливать из кривого формата в нормальный - чтобы каждый элемент был отдельно адрес в виде строки с разделителем запятая и каждый адрес разбивать на элементы но это еще полбеды, ибо не всегда есть разделитель запятая ![]() добавлю еще что адрес разбивается на элементы и каждый элемент порождает новую строку - и все это одним запросом Последний раз редактировалось soleil@mmc; 20.08.2009 в 13:20. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите написать sql запросы | student223 | SQL, базы данных | 8 | 16.05.2012 14:41 |
Запросы на SQL | denisk0 | Microsoft Office Access | 0 | 23.05.2009 16:05 |
sql запросы | wolf950 | БД в Delphi | 2 | 28.11.2008 21:26 |
Запросы SQL в Delphi | antoni | БД в Delphi | 13 | 02.09.2008 00:53 |
Осваиваю SQL запросы | artemavd | БД в Delphi | 1 | 31.08.2008 19:18 |