Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: Общие вопросы > подсчитать в строки |
Автор: gcc 9.12.2008, 19:21 | ||
в таблице MySQL нужно подчситать количество email которые рассположены через запятую (но может быть одно значение без запятой) id | email ----------- 1 | [email protected], [email protected] 2 | [email protected] 3 | [email protected], [email protected], [email protected] если так, то не получается
подскажите если можно так сделать? точнее какой метод из DBI использовать? не пойму |
Автор: IceSunrise 9.12.2008, 19:29 |
gcc, а что "не получается", вроде как нужно разбивает...? |
Автор: gcc 9.12.2008, 19:35 | ||
извините, поспешил, примерно так сделал:
|
Автор: tolkien 9.12.2008, 22:36 |
У вас неправильная спроектированная таблица. В правильной таблице в одной ячейке должно быть только одно значение. |
Автор: dmitryk1 10.12.2008, 06:37 | ||
Блин, гениально сказано. Нечего сказать, не надо флудить. Может он разгребает за такими вот гениальными писателяпи тою. что они "наработали" ранее. Опять же неизвестно какие условия при проектировании были, так что слишком уж ты категоричный. Кстати, у гуголя хранится именно так в адрбуке. Предлагаю тебе перепроектировать и переписать гуглемыл ![]() 2gcc: У тебя в $nn складывается количество или первый найденный емыл? Может тут беда? |
Автор: amg 10.12.2008, 07:21 | ||
gcc, подсчет таким способом, как к Вас, небезопасен. Например, если приведенный Вами кусок кода находится внутри подпрограммы, результат работы этой подпрограммы может оказаться неверным, т.к. split, если ей не указали в явном виде массив, куда следует поместить поля, помещает их в @_ и тем самым перезапишет @_ подпрограммы. Безопаснее (и быстрее)
|
Автор: tolkien 10.12.2008, 08:53 | ||||
Откройте любую книгу по проектированию БД. Главу про приведение таблиц в нормальную форму. Если бы сделали все правильно. Не нужно было бы тогда извращаться и писать ненужный код. Все делалось стандартно. П.С Вы что в гугле работаете? И знаете структуру их БД? Или где то они выложили для общего ознакомления? |
Автор: KSURi 10.12.2008, 11:21 |
del |
Автор: KSURi 10.12.2008, 18:12 | ||
amg, прошу прощения! Неверно я вам подсказал( Решил перечитать на всякий случай perlop, и оказалось, не для этого нужен модификатор /c. Даже не знаю откуда такая мысль появилась. На самом деле /c используется для замены всех не подходящих символов из SEARCHLIST на символы из REPLACEMENTLIST. Т.е.:
ЗЫ: предыдущее сообщение отредактировал, чтобы не вводить людей в заблуждение |
Автор: ginnie 10.12.2008, 22:29 | ||
gcc, по аналогии с вариантом amg, предложу свой, без замены:
|
Автор: gcc 11.12.2008, 00:56 |
всем спасибо! попробую эти варианты таблицу я не проектировал... там таблица другая... в первом посте я привел пример, просто... (я сначала пишу чтобы работало и правильно выглядело, а скорость потом...) |
Автор: dmitryk1 19.12.2008, 06:47 | ||
про проектирование баз данных, наверно не тут. Здесь база уже есть, работает и никто не позволит её менять... Про гуголь: адресная книга, экспорт. Предварительно создайте и заполните один контакт с несколькими емылами. Не знаю как у них в базе, но публичный интерфейс именно такой, корявый. |
Автор: gcc 19.12.2008, 09:46 | ||
таблица вот такая другая программа смотрит эту таблицу и забирает одно значение address, то есть поле address не должно дублироватся как я понял... (я не смотрел может быть можно не писать через запятую) но все равно там было... |