Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: distinct в запросе

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
inhell
Отправлено: 12 Марта, 2015 - 15:16:34
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Март 2015  


Помог: 0 раз(а)




Добрый день!
Есть запрос Select к БД InterBase, используются функции ibase_query для выполнения запроса и ibase_fetch_assoc для получения результата. Запрос выбирает фамилии из таблицы. Для вывода не повторяющихся значений используется distinct.
Почему то запрос не возвращает запись, если она присутствует в таблице в единственном числе. Например в таблице такие записи:
    Иванов
    Иванов
    Петров
    Петров
    Сидоров

Запрос вернет
    Иванов
    Петров

Сидоров не возвращается. Если на прямую к бд такой запрос произвести, вернет как и положено
    Иванов
    Петров
    Сидоров

Что скажете?
 
 Top
RickMan
Отправлено: 12 Марта, 2015 - 15:34:49
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




Вы думаете попали в шоу битва экстрасентов? Что за InterBase? Что за ibase_query и ibase_fetch_assoc? Лайте больше информации и получите больше ответов.
 
 Top
inhell
Отправлено: 12 Марта, 2015 - 15:42:51
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Март 2015  


Помог: 0 раз(а)




RickMan пишет:
Вы думаете попали в шоу битва экстрасентов? Что за InterBase? Что за ibase_query и ibase_fetch_assoc? Лайте больше информации и получите больше ответов.

ок, я честно говоря подумал, что ibase_fetch_assoc не корректно работает с distinct.

БД - Firebird 1.5

Скрипт на PHP
CODE (htmlphp):
скопировать код в буфер обмена
  1. $q1="SELECT  distinct username FROM table";    
  2. $result=ibase_query($db_conn, $q1);
  3. $row=ibase_fetch_assoc($result);
  4. while ($row=ibase_fetch_assoc($result))
  5. {
  6. print $row['USERNAME'];
  7. }
 
 Top
Мелкий Супермодератор
Отправлено: 12 Марта, 2015 - 15:48:59
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




RickMan пишет:
Что за InterBase?

Это такой привет из прошлого тысячелетия: https://ru[dot]wikipedia[dot]org/wiki/Interbase Прародитель Firebird.
http://php.net/manual/en/book.ibase.php

В живую не видел ни ту ни другую, так что по теме ничего не скажу.


-----
PostgreSQL DBA
 
 Top
Sail
Отправлено: 12 Марта, 2015 - 16:25:10
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




inhell, 3-ю строчку из приведённого Вами кода грохните.
 
 Top
esterio
Отправлено: 12 Марта, 2015 - 16:36:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Мелкий пишет:
В живую не видел ни ту ни другую, так что по теме ничего не скажу.

А я в делфи еще 7 версии игрался с InterBase. Очень тугая штука
 
 Top
SAD
Отправлено: 12 Марта, 2015 - 17:17:13
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




таки, я думаю, проблема здесь

PHP:
скопировать код в буфер обмена
  1. while ($row=ibase_fetch_assoc($result))
  2. {
  3. print $row['USERNAME'];
  4. }


попробуйте поиндексно обратиться к первым, для интереса, 5 записям

(Отредактировано автором: 12 Марта, 2015 - 17:17:54)

 
 Top
inhell
Отправлено: 12 Марта, 2015 - 18:40:15
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Март 2015  


Помог: 0 раз(а)




Sail пишет:
inhell, 3-ю строчку из приведённого Вами кода грохните.

Ни на секунду не сомневался, что мне здесь помогут!
Спасибо! Скрипт работает как надо
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB