#mysql #sql #join
#mysql #sql #Присоединиться
Вопрос:
Я работаю над проектом, и мне нужно создать несколько операторов join. Я попытался создать тот, который выбирает максимальное значение столбца в трех разных таблицах. Я получаю сообщение об ошибке при ВЫБОРЕ, в котором говорится: «выбор недопустим в этой позиции сервера, ожидая, БЛОКИРОВКА, ТАБЛИЦА, ЗНАЧЕНИЯ, С, ‘(‘». Не уверен, что делать, какие-нибудь советы? Код приведен ниже.
SELECT MAX(cn.TotalDollarPerArea) as 'North Total Dollar per Area',
MAX(cs.TotalDollarPerArea) as 'South Total Dollar per Area',
MAX(ncl.TotalDollarPerArea) as 'Non-Climate Total Dollar Per Area',
FROM ClimateNorth cn,
JOIN ClimateSouth cs using (TotalDollarPerArea),
JOIN NonClimate ncl using (TotalDollarPerArea);
Ответ №1:
Просто используйте подзапросы:
SELECT (SELECT MAX(cn.TotalDollarPerArea)
FROM ClimateNorth cn
) as `North Total Dollar per Area`,
(SELECT MAX(cs.TotalDollarPerArea)
FROM ClimateSouth cs
) as `South Total Dollar per Area`,
(SELECT MAX(ncl.TotalDollarPerArea)
FROM NonClimate ncl
) as `Non-Climate Total Dollar Per Area`;
Примечание: используйте только одинарные кавычки для констант string и date. Для псевдонимов столбцов используются лучшие escape-символы.