SELECT … FOR ALL ENTRIES и DISTINCT

Необходимо было разобраться, почему запрос  не получает все записи из БД. Сам запрос довольно простой. Казалось бы, ничего не предвещало беды.

Запрос:

Однако вместо 15-ти записей возвращалось всего 5.

Решение проблемы  оказалось в документации. Оказывается  FOR ALL ENTRIES IN работает идентично DISTINCT. Одним словом, выбираются только уникальные записи. Указал все ключевые поля из таблицы и все заработало хорошо:

Раз уж разговор пошел о FOR ALL ENTRIES вот статья по про производительность. Возможно кто-то еще не читал :  Учимся правильно использовать FOR ALL ENTRIES IN

Добавить комментарий

Ваш адрес email не будет опубликован.