【发布时间】:2012-02-10 15:24:06
【问题描述】:
Table: Unit
ID NAME VALUE
1 Kilo 1000
2 Mega 1000000
3 Giga 1000000000
Table: Storage
ID Title Drive_value DriveUnitID Cache_value CacheUnitID Status_ID error error_unit area
1 Seagate 100 3 400 1 2 1 1 1
2 Scansoft 250 3 80 2 1 1 2 2
Table: manufac
ID area
1 US
2 CHINA
Table: Status
ID Description
1 Blah.. Blah
2 Durka Durka
期望的目标是让一个子选择连接三个表 像这样(如下),但这种语法不起作用
select
s.title,
t.description,
x.area,
u1.value * s.cache_value as Cache,
u2.value * s.drive_value as Drive,
u3.value * s.error_value as Error
((u4.value * s.error_value)+(u4.value * s.error_value)) as ErrorHigh
((u5.value * s.error_value)-(u5.value * s.error_value)) as ErrorHigh
from storage s
join status t on t.id = s.status_id
join manufac x on x.id = s.manufac_id
join unit u1 on s.cache_unit_id = u1.id
join unit u2 on s.drive_unit_id = u2.id
join unit u3 on s.error_unit_id = u3.id
join unit u4 on s.error_unit_id = u4.id
join unit u5 on s.error_unit_id = u5.id
【问题讨论】:
-
您的查询语法不好。
INNER JOIN Status.ID ON t.ID。这是什么?