Привет.Как поступить если подзапрос возвращает несколько колонок. Знаю вариант через создание временных таблиц,но хочется услышать другое решение.Припустим
$sql1="SELECT * FROM имя WHERE `колонка_1` IN ((SELECT COUNT(*) AS `so`,`колонка_1` FROM `имя` GROUP BY `колонка_1` ORDER BY `so` DESC ))";
есть специальный оператор?Хочу с подзапроса вытащит только колонку колонка_1
?
Можно запустить подзапрос еще раз, уже без условий:
$sql1="SELECT * FROM имя WHERE `колонка_1` IN (select `колонка_1` from (SELECT COUNT(*) AS `so`,`колонка_1` FROM `имя` GROUP BY `колонка_1` OR.....
Отработает он достаточно быстро.
Через оператор "EXISTS" будет что-то вроде:
$sql1="SELECT * FROM таблица1 WHERE EXISTS ((SELECT COUNT(*) AS `so`,`колонка_1` FROM таблица2 WHERE таблица2.`колонка_1` = таблица1.`колонка_1` GROUP BY `колонка_1` ORDER BY `so` DESC ))";
Если я правильно понял замысел, то короче будет так:
$sql1="SELECT * FROM имя NATURAL JOIN (SELECT колонка_1
FROM имя
GROUP BY колонка_1
ORDER BY COUNT(*) DESC LIMIT 1) X";
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как в PHPMYADMIN убрать из поля varchar/text столбик collation, потому что когда он есть, у меня добавляются нулевые значения в строке
Как одним запросом SQL вывести несколько значений из строк, одного столбца, то есть допустим есть таблица users, в ней idКак вывести все id, используя...
Здесь была огромная простыня кода и скриншот, которые не имеют никакого отношения к SQL-ошибкеИз-за этого собственно ошибки были не видны