Я делаю небольшую игру в PHP с MySQL. Теперь у меня проблема с одним из созданных мной SQL-запросов. Идея состоит в том, что запрос проверяет, достаточно ли у пользователя материалов.
У меня есть запрос, что если я использую его так, он работает:
SELECT
(
SELECT COUNT(*)
FROM building_requirements
WHERE building_id = '1'
) as building_requirements_count,
(
SELECT COUNT(*)
FROM user_materials, building_requirements
WHERE user_materials.material_id = building_requirements.material_id
AND user_id = '27'
AND building_id = '1'
AND (user_material_amount >= building_material_amount) = 1
) as user_materials_count;
Но когда я добавляю один столбец, который использует результат этих подзапросов, он завершается неудачно:
SELECT
(
SELECT COUNT(*)
FROM building_requirements
WHERE building_id = '1'
) as building_requirements_count,
(
SELECT COUNT(*)
FROM user_materials, building_requirements
WHERE user_materials.material_id = building_requirements.material_id
AND user_id = '27'
AND building_id = '1'
AND (user_material_amount >= building_material_amount) = 1
) as user_materials_count,
building_requirements_count = user_materials_count as enough_materials;
Я получаю ошибку:
#1054 - Unknown column 'building_requirements_count' in 'field list'
Может кто-нибудь объяснить мне, почему я не могу использовать результаты подзапроса здесь? И как я могу это исправить?