2015-10-05 8 views
1

Я хочу заполнить выпадающее поле, используя одно поле из данных, я просто хочу, чтобы уникальные значения возвращались для набора данных из одной таблицы. Группа не реализована в базе данных polyhedra, которую я использую. Имя является первичным ключом для таблицы, и все имена уникальны.Предложение DISTINCT, используемое при нечеткой ошибке выбора

Я пытаюсь запустить этот запрос:

SELECT DISTINCT userstring05 
FROM digital 
WHERE userstring05 LIKE '_%' 
    AND name LIKE '200-B%' 

Но я получаю эту ошибку:

DISTINCT clause used on non-distinct select

+0

Я считаю, что это было неправильно отмечено mysql? –

+0

да, извините, мой плохой – user5410577

ответ

0

От ENEA Polyhedra reference:

Inclusion of the distinct clause will generate an error if the select statement could potentially return duplicate rows. Only select statements whose output columns include all the primary key columns of the tables specified in the from clause can be successfully executed with a distinct clause.

Так что я предполагаю, что это СУБД не реально реализовать distinct, так как это ограничение аннулирует интерес использования этого пункта. Может быть, если вы не присоединитесь к таблице без какого-либо первичного ключа?

EDIT: Кажется, что этот ресурс старый. Какую версию Полиэдры вы используете?

+0

Версия 8.01.00.04 – user5410577

0

Вам не нужно использовать различны. Используйте команду, чтобы получить результат.

SELECT userstring05 FROM digital WHERE userstring05 like '_%' 
AND name LIKE '200-B%' GROUP BY userstring05 

Это даст вам запрошенный результат. Я не проверял, так как вы не предоставляют некоторые примеры данных, но должно быть нормально

+0

База данных, с которой я работаю, имеет ограниченные функции: я устал от вашего запроса, и это результат «не реализован: выберите: GROUP BY» – user5410577

+0

@ user5410577 какой БД вы используете? Как ваш запрос, так и мой должен работать в mysql –

+0

Polyhedra Version 8.01.00.04 – user5410577