任何人都可以帮我这个陈述吗?我正试图通过房间容量*数量来获取物体中的珠子数量
SELECT
object.id, object.name,
location.address,
location.postcode,
location_city.`name`,
(
select
case
when object_room.object_room_type_id = 1 then (1 * object_room.quantity)
when object_room.object_room_type_id = 2 then (2 * object_room.quantity)
when object_room.object_room_type_id = 3 then (3 * object_room.quantity)
when object_room.object_room_type_id = 4 then (5 * object_room.quantity)
when object_room.object_room_type_id = 5 then (1 * object_room.quantity)
when object_room.object_room_type_id = 6 then (4 * object_room.quantity)
when object_room.object_room_type_id = 8 then (2 * object_room.quantity)
when object_room.object_room_type_id = 9 then (3 * object_room.quantity)
end CASE
from object_room
)
FROM object
LEFT JOIN location ON object.location_id = location.id
LEFT JOIN location_city ON location.location_city_id = location_city.id
LEFT JOIN object_room ON object.id = object_room.object_id
我收到了这个错误:
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CASE
from object_room
答案 0 :(得分:1)
请阅读MySQL manual on the case
statement:
case object_room.object_room_type_id
when 1 then (1 * object_room.quantity)
when 2 then (2 * object_room.quantity)
when 3 then (3 * object_room.quantity)
when 4 then (5 * object_room.quantity)
when 5 then (1 * object_room.quantity)
when 6 then (4 * object_room.quantity)
when 8 then (2 * object_room.quantity)
when 9 then (3 * object_room.quantity)
end
答案 1 :(得分:0)
你有一张桌子object_room_type
或者你应该创建一张桌子。我假设你打电话给房间容量栏capacity
。然后,您可以在查询中加入object_room_type
表:
SELECT
object.id, object.name,
location.address,
location.postcode,
location_city.`name`,
object_room_type.capacity * object_room.quantity
FROM object
LEFT JOIN location ON object.location_id = location.id
LEFT JOIN location_city ON location.location_city_id = location_city.id
LEFT JOIN object_room ON object.id = object_room.object_id
LEFT JOIN object_room_type ON object_room_type.object_room_type_id = object_room.object_room_type_id