SELECT id,
(SELECT payer_id FROM transactions WHERE id = user_id),
(SELECT sentence FROM cofg_sentences WHERE id = user_id),
(SELECT name FROM cofg_options WHERE id = user_id),
(SELECT hour FROM cofg_time WHERE id = user_id),
(SELECT field_id, url FROM cofg_feeds WHERE id = user_id),
(SELECT field_id, fb_user FROM cofg_accounts WHERE id = user_id)
FROM users WHERE token = '.......'
Я пытаюсь сделать этот запрос, но я получаю эту ошибку:MySQL выбрать несколько столбцов нескольких таблиц одновременно без использования РЕГИСТРИРУЙТЕСЬ
#1241 - Operand should contain 1 column(s)
Если удалить второй столбец подзапроса я получаю :
#1242 - Subquery returns more than 1 row
Я знаю, что есть другие вопросы с одинаковой ошибкой, но запросы разные. Я не хочу использовать JOIN, потому что я прочитал, что это уменьшит производительность.
В чем проблема? Любой вид помощи ценится :)
Заранее спасибо
Скажите, пожалуйста, кто сказал, что 'JOIN' уменьшит количество выступлений, чтобы мы могли нанести ему камни. Выполнение 'JOIN' - это суть РСУБД. – RandomSeed
@RandomSeed Я прочитал сообщение вроде этого: stackoverflow.com/a/1002612/2528167 сказал, что есть несколько случаев, когда подзапросы лучше, например, когда вам нужно присоединиться ко многим таблицам, как я, но я вижу, что мне нужно будет использовать Присоединяйтесь к моей цели. Спасибо –
Хорошо, в некоторых случаях преобразование JOIN в подзапрос может * улучшить * производительность, но это очень пограничный случай, на мой взгляд (12 таблиц, соединенных? Все, что вам нужно делать, иногда немного увеличивает некоторые буферы). Кроме того, вы смотрите на 4-летнюю должность; с тех пор все изменилось. В любом случае, это прекрасный пример преждевременной оптимизации. Пойдите с JOIN в целом, только настройте запросы, которые имеют реальную производительность. – RandomSeed