pg_fetch_all для несуществующих записей

193
09 мая 2019, 20:50

Сейчас при запросе к базе данных использую функцию pg_fetch_all для сбора всех данных. Но проблема в том, что если я сделаю запрос по значению, которого в таблице не существует, то функция мне ничего не вернёт. Например, я делаю запрос ... IN ('moscow', 'saint-petersburg', 'khabarovsk'). И функция pg_fetch_all вернёт ассоциативный массив длинной в 3 элемента. Но если в таблице нет записи со значением поля saint-petersburg, то вернётся массив всего из двух записей, где на втором месте будет расположена информация о Хабаровске. А мне важна последовательность. То есть, нужно, чтобы функция не просто пропускала несуществующие записи, а вставляла вместо них пустой массив - array(). Как это сделать?

Answer 1

Не совсем уверен в правильности всего запроса целиком но направление точно задаст:

with tmp_data (id,value) as 
  (VALUES
    (1,'moscow'),
    (2,'saint-petersburg'),
    (3,'khabarovsk')
  )
Select 
  c.* 
from 
  tmp_data z 
  left join cities_data c on z.value = c.page_id
order by tmp_data.id
READ ALSO
Lua в PHP | Переменные

Lua в PHP | Переменные

Как сделать что-то подобное в PHP?:

217
Как изменить ответ REST в yii2

Как изменить ответ REST в yii2

Как можно изменить ответ после того как отправил запросК примеру POST, на добавление записи

216
На сервере появляется ошибка Uncaught PHPExcel_Writer_Exception: Could not close zip file

На сервере появляется ошибка Uncaught PHPExcel_Writer_Exception: Could not close zip file

Всем приветРебята, помогите, пожалуйста

205