![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как подружить Group by и Containing?
Novicer © (2014-02-18 09:50:00)Здравствуйте! Делаю поиск по таблице, хочу сгрупировать записи с одинаковыми полями которые включают искомое. Незнаю как правильно составить запрос.. :(
ТНЕ картман (2014-02-18 20:19:00) [1]
> посмотрят как на идиота.
>
это тоже моветон))
Novicer (2014-02-18 13:40:00) [2]Понял,учту...
Ega23 (2014-02-18 13:15:00) [3]
> Моветон это что?
Моветон - ну это примерно как громко пёрнуть в коллективе. Ругать не будут, но посмотрят как на идиота.
Inovet (2014-02-18 13:14:00) [4]> [10] Novicer (18.02.14 13:05)
> Моветон это что?
моветон I Манеры, поступки, не принятые в хорошем обществе; дурной тон, невоспитанность.
Inovet (2014-02-18 13:13:00) [5]> [10] Novicer (18.02.14 13:05)
> Почему нельзя применять *?
Ты сам и ответил выше - потому что гемор потом разгребать будешь дольше.
Ega23 (2014-02-18 13:13:00) [6]1. В реальной задаче редко нужны все поля из таблицы.
2. В реальной задаче часто нужны составные запросы из двух и более таблиц.
3. * выдаст тебе поля не всегда с предсказуемым результатом. Ну в смысле, что порядок столбцов на разных базах может отличаться. При всякой навороченной логике в хранимках - вредно.
4. В случае * ты не застрахован от получения двух полей с одинаковым именем (это когда несколько таблиц связывается).
5. Это просто приучает к аккуратности.
6. Можешь не верить и продолжать использовать *, пока не нахлебаешься вышеперечисленных проблем и не выработаешь собственный стиль.
Как-то так.
Inovet (2014-02-18 13:12:00) [7]> [4] Novicer (18.02.14 10:25)
> А можно параметр вместо текста прикрутить как-нить?
Ну а почему нет, присваивай значению параметра текст вместе с "%".
Novicer (2014-02-18 13:05:00) [8]Моветон это что? Почему нельзя применять *?
Ega23 (2014-02-18 12:47:00) [9]
> select * пришлось заменить на select и перечень полей, они
> же и в group by. По другому не пашет зараза :(
Я тебе это несколько дней назад говорил. select * - это моветон. В качестве отладки ещё худо-бедно пойдёт.
Novicer (2014-02-18 12:18:00) [10]Пашет с containing и параметр с группировкой по нужному полю прикрутил :) по шаблону RWolfa сделал, только Like %text% заменил на Containing :Param_name и от себя еще добавил order by в конце :) select * пришлось заменить на select и перечень полей, они же и в group by. По другому не пашет зараза :(
Ega23 (2014-02-18 10:47:00) [11]
> Юзаю IBX, огнептиц 2.5
Ну вот возьми и проверь, мне тоже будет интересно, т.к. в данный момент времени юзаю то же самое.
Novicer (2014-02-18 10:37:00) [12]Юзаю IBX, огнептиц 2.5
Ega23 (2014-02-18 10:29:00) [13]от DAC зависит походу. А может и не зависит, давно этим не занимался, не помню уже.
Дык возьми да поэксперементируй. О результатах - отпишись.
Novicer (2014-02-18 10:25:00) [14]А можно параметр вместо текста прикрутить как-нить? И в него из эдита присваивать?
Ega23 (2014-02-18 10:22:00) [15]
> . А я думал containing применить чтоб регистр букв не влиял
> на результаты..
WHERE Upper(field1) LIKE '%TEXT%'
Novicer (2014-02-18 10:17:00) [16]Спасибо! Попробую... А я думал containing применить чтоб регистр букв не влиял на результаты..
RWolf (2014-02-18 10:07:00) [17]так и пиши: SELECT ... FROM mytable WHERE field1 LIKE '%text%' GROUP BY field1