у меня есть две таблицы в БД MySQL:SQL запрос к двум таблицам
элементы
- идентификатор (голец)
- имя (VARCHAR)
- описание (VARCHAR)
- modified_at (datetime)
папки
- идентификатор (целое)
- имя (VARCHAR)
- parent_id (интермедиат)
Из запроса к поисковому индексу я вернусь упорядоченный список идентификаторов для элементы и папки, соответствующие запросу. Например, («ph76gjd», 34, «rh75ghd», «gr45gfd»). Конечно, в большинстве случаев набор будет намного больше этого. У меня также есть столбцы списка, которые я хочу в наборе результатов, и некоторые из этих столбцов могут не существовать в обеих таблицах. Например, («id», «name», «modified_at»).
Я ищу способ эффективного построения набора результатов путем запроса БД.
- мне нужно сделать два отдельных запросов, так как я хочу, данные из двух разных таблиц делать? Если да, то мне нужно будет вернуть как-нибудь?
- Есть ли способ сделать это с помощью одного запроса с помощью объединения или объединения?
Я использую Ruby on Rails, но я не думаю, что язык программирования действительно является фактором здесь, поскольку я надеюсь сделать это в основном в SQL. Любая помощь приветствуется.
Update
Спасибо за ответы, но я предполагаю, что я не был достаточно ясен. Эта проблема не имеет отношения к этой проблеме. У меня есть массив идентификаторов строк, которые я хочу, в том порядке, в котором они должны появиться, и все, что я хочу, это вытащить дополнительные данные столбца из БД.
NULL AS ... это то, чего я не хватало. Это выглядит хорошо, за исключением того, что набор результатов не в том же порядке, что и идентификаторы. –
Добавлен заказ. –
Но это будет упорядочиваться по id (в алфавитном порядке), а не по порядку массива «ids», используемого в предложении where. –