Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вывод значения 'Нет результатов' если поиск по таблице не дал результата
|
|||
|---|---|---|---|
|
#18+
Добрый день! Не могу решить данный вопрос. Помогите, пожалуйста, понять можно ли его вообще решить средствами MySQL. Есть таблица: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. Запрос Код: sql 1. 2. даёт результат 'Без имени'. А запрос Код: sql 1. 2. всё равно даёт NULL. Можно ли как-то вывести значение 'Нет' для случаев когда SELECT не возвращает ни одного результата? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 20:04 |
|
||
|
Вывод значения 'Нет результатов' если поиск по таблице не дал результата
|
|||
|---|---|---|---|
|
#18+
Типа такого? Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 20:32 |
|
||
|
Вывод значения 'Нет результатов' если поиск по таблице не дал результата
|
|||
|---|---|---|---|
|
#18+
slawdowsЗапрос Код: sql 1. 2. даёт результат 'Без имени'. А запрос Код: sql 1. 2. всё равно даёт NULL. Нет. Первый запрос возвращает ОДНУ запись, а второй - НОЛЬ записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 20:40 |
|
||
|
Вывод значения 'Нет результатов' если поиск по таблице не дал результата
|
|||
|---|---|---|---|
|
#18+
vkleТипа такого? Код: sql 1. 2. 3. 4. Не совсем. Когда в результатах будет две и более записей, вернётся всё равно только одна. Акина оставила правильный комментарий: Akina Нет. Первый запрос возвращает ОДНУ запись, а второй - НОЛЬ записей. Мне именно нужны случаи когда запрос возвращает НОЛЬ записей. Можно ли средствами MySQL вывести значение, что 'результатов нет', когда их действительно нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 20:49 |
|
||
|
Вывод значения 'Нет результатов' если поиск по таблице не дал результата
|
|||
|---|---|---|---|
|
#18+
slawdowsАкина оставила правильный комментарий: Прошу прощения, если не угадал с полом, ответил машинально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 20:52 |
|
||
|
Вывод значения 'Нет результатов' если поиск по таблице не дал результата
|
|||
|---|---|---|---|
|
#18+
slawdowsМожно ли средствами MySQL вывести значение, что 'результатов нет', когда их действительно нет?Извратиться можно (например, как vkle показал), но это будет костыль. Намного правильнее проверять на уровне клиентского скрипта/программы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 21:19 |
|
||
|
Вывод значения 'Нет результатов' если поиск по таблице не дал результата
|
|||
|---|---|---|---|
|
#18+
miksoftИзвратиться можно (например, как vkle показал), но это будет костыль. Намного правильнее проверять на уровне клиентского скрипта/программы. miksoft, спасибо! Как-раз извращения не нужны. А вот на уровне клиента возникают проблемы со сравнением значения в этом случае. Ок, попробую написать в поддержку клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 21:40 |
|
||
|
Вывод значения 'Нет результатов' если поиск по таблице не дал результата
|
|||
|---|---|---|---|
|
#18+
slawdowsна уровне клиента возникают проблемы со сравнением значения в этом случае.По-моему, получить количество записей в рекордсете (а на самом деле - просто проверить его на <EOF>) гораздо проще, чем тягать сами записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 21:44 |
|
||
|
Вывод значения 'Нет результатов' если поиск по таблице не дал результата
|
|||
|---|---|---|---|
|
#18+
AkinaПо-моему, получить количество записей в рекордсете (а на самом деле - просто проверить его на <EOF>) гораздо проще, чем тягать сами записи. А рекордсет это как? Если не трудно можно "на пальцах" объяснить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 21:55 |
|
||
|
Вывод значения 'Нет результатов' если поиск по таблице не дал результата
|
|||
|---|---|---|---|
|
#18+
slawdowsНе совсем. Когда в результатах будет две и более записей, вернётся всё равно только одна.Простите уж, не предполагал, что в Вашей таблице есть две или более записи с одинаковым id. Ну да и Вы об этом тоже скромно умолчали. В таком случае, мой вариант не годится. Однако, если разместить требуемый функционал на клиентской стороне (это типовой подход к такого рода вопросам) не представляется возможным, то можно попробовать запихнуть его в хранимую процедуру. Сходу не подскажу, как именно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 22:06 |
|
||
|
Вывод значения 'Нет результатов' если поиск по таблице не дал результата
|
|||
|---|---|---|---|
|
#18+
vkleПростите уж, не предполагал, что в Вашей таблице есть две или более записи с одинаковым id. Ну да и Вы об этом тоже скромно умолчали. В таком случае, мой вариант не годится. Я тоже в свою очередь прошу прощения, пытался объяснить на уровне самого простого примера. Для чёткого пониманию приведу конкретный кейс: SQL запрос получает данные из таблицы по id. Строк в результатах может быть больше 1-ой. Величина строк неизвестна. Нужно чтобы в результатах работы запроса, если количество строк рано 0, что-то выводилось. Почему изначально привёл такой пример? Потому что в Navicat-е, в результатах, даже если нет строк всё равно выводится Null, вот он и сбивал с толку. vkleОднако, если разместить требуемый функционал на клиентской стороне (это типовой подход к такого рода вопросам) не представляется возможным, то можно попробовать запихнуть его в хранимую процедуру. Сходу не подскажу, как именно. Если в данном случае вопрос должен решать клиент, буду пробовать через поддержку. Если хранимая процедура допускается, было бы интересно посмотреть на какой-нибудь простой пример, скажу честно с ними ещё не знаком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 23:27 |
|
||
|
Вывод значения 'Нет результатов' если поиск по таблице не дал результата
|
|||
|---|---|---|---|
|
#18+
С помощью поддержки клиента удалось найти обходной трюк: Код: sql 1. 2. 3. 4. 5. 6. 7. В таком случае когда id есть, будут выводится значения по совпадениям, а когда нет - то только замещающий текст 'Нет результатов'. Но они создали тикет в своей системе на улучшение, которое позволит получать такой текст автоматически. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 01:02 |
|
||
|
Вывод значения 'Нет результатов' если поиск по таблице не дал результата
|
|||
|---|---|---|---|
|
#18+
Это бред, причём идеологически, а не программно. Бредова сама идея заставлять SQL-сервер заниматься форматированием отображения данных, когда это целиком и полностью задача клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 08:42 |
|
||
|
Вывод значения 'Нет результатов' если поиск по таблице не дал результата
|
|||
|---|---|---|---|
|
#18+
Представьте на минуту, что в таблице есть запись с id=4 и name='Нет результатов'... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 08:43 |
|
||
|
Вывод значения 'Нет результатов' если поиск по таблице не дал результата
|
|||
|---|---|---|---|
|
#18+
AkinaБредова сама идея заставлять SQL-сервер заниматься форматированием отображения данных, когда это целиком и полностью задача клиента. почему так критично? форматирование даты , к прмеру, очень просто реализовать в запросе. да и для форматирования чисел в mysql усть хорошие инструменты. AkinaПредставьте на минуту, что в таблице есть запись с id=4 и name='Нет результатов'... ну если автор пишет так, наверно, он гарантирует , что такого id=4 и name='Нет результатов' быть не может, ведь он пишет под конкретную задачу, а не абстрактную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 09:16 |
|
||
|
Вывод значения 'Нет результатов' если поиск по таблице не дал результата
|
|||
|---|---|---|---|
|
#18+
вадяформатирование даты , к прмеру, очень просто реализовать в запросе. да и для форматирования чисел в mysql усть хорошие инструменты. Это всё пригодно для очень простых случаев, когда данные, полученные от сервера, выливаются в тупой текстбокс или иной контрол, который про иные, кроме строкового, типы, даже не слышал. Да, такое бывает, не спорю... Но как только требуется что-то более сложное - используются специализированные средства отображения, скажем, сортирующие гриды, или дополнительная клиентская обработка, так сразу начнутся сложности. вадяесли автор пишет так, наверно, он гарантирует , чтоВозможно. Но чаще автор просто не подумал о том, что решение должно рассчитываться не на основной поток данных, а на краевые условия и исключения. И когда дело доходит до финального тестирования, программа начинает обрастать костылями... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 09:26 |
|
||
|
Вывод значения 'Нет результатов' если поиск по таблице не дал результата
|
|||
|---|---|---|---|
|
#18+
AkinaЭто всё пригодно для очень простых случаев, когда данные, полученные от сервера, выливаются в тупой текстбокс или иной контрол, который про иные, кроме строкового, типы, даже не слышал. Да, такое бывает, не спорю... Но как только требуется что-то более сложное - используются специализированные средства отображения, скажем, сортирующие гриды, или дополнительная клиентская обработка, так сразу начнутся сложности. не надо так критично, универсального варианта нет, я знаю много случаев , когда то же форматироване даты проще сделать в mysql, а для сортировки и фильтрации проще снова сделать запрос с фильтрами и сортировкой. AkinaНо чаще автор просто не подумал о том, что решение должно рассчитываться не на основной поток данных, а на краевые условия и исключения. И когда дело доходит до финального тестирования, программа начинает обрастать костылями... странная логика, ориентироваться на "автор не подумал" , а может постановщик задачи не подумал? Akina. Но как только требуется что-то более сложное - используются специализированные средства отображения, скажем, сортирующие гриды в некоторых случаях проще продублировать строковые данные - их числовыми эквивалентами, по ним и сортировать/фильтровать. те же тавлицы в html - отображают дату как строку, и для сортировки надо сначала преобразовать в дату. а можно продублировать в тэг data- число , хранимое в mysql как дата, и сортировать по этому тэгу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 09:41 |
|
||
|
Вывод значения 'Нет результатов' если поиск по таблице не дал результата
|
|||
|---|---|---|---|
|
#18+
Akina, Выбор данных действительно всегда происходит из таких таблиц, где значения 'Нет результатов' и быть не может, как не может быть букв в числах. Я понимаю что это голая теория, которая часто на практике не терпит таких допусков. Но даже ведь если представить, что Клиент научился отдавать такой результат - как понять разницу между тем: это значение из базы или результат 'Нет результатов'. К тому же, это временное решение, которое на время заполнит пустоту в выводе в тех случаях, когда база не отдаёт результатов. В скором времени надеюсь этим будет заниматься Клиент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 15:40 |
|
||
|
|

start [/forum/moderation_log.php?user_name=byvlad]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 707ms |
| total: | 853ms |

| 0 / 0 |
