0

我刚开始使用 SQL。数据存储在三个表中。下面给出一个例子......

表 1:产品系列

栏目:产品系列

表2:设施

栏目:位置

表 3:表带

栏目:建厂
栏目:产品系列
列:2012 年完整单位 w/C
列:2013 年完整单位 w/C
列:2014 年完整单位 w/C
列:2015 年完整单位 w/C
列:2016 年完整单位 w/C
栏目:2017 年完整单位 w/C
专栏:2018 年完整单位 w/C

如果...存储在“位置”中的任何文本值与“建筑工厂”中的给定文本值匹配并且如果存储在“产品系列”中的任何文本值与“产品类型”中的给定文本值匹配

然后...获取相应行中“201X Full Units w/C:”七列的内容,并构建一个由它们及其匹配的“位置”和“产品系列”值组成的新表。

我的查询:

select facility.location, ProductFamily.productfamily, strap.[2012 Full Units w/C], [2013 Full Units w/C],  strap.[2014 Full Units w/C],  strap.[2015 Full Units w/C], [2016 Full Units w/C], strap.[2017 Full Units w/C], strap.[2018 Full Units w/C]
from facility, ProductFamily
inner join strap on ProductFamily.productfamily = strap.[prod series]
inner join facility on strap.[build plant] = facility.location;

我不确定查询是否会完成我想要的,它还会给出语法错误(缺少运算符)

4

1 回答 1

2

我认为你的问题在这里:

from facility, ProductFamily

我会这样写查询:

select F.location, P.productfamily, S.[2012 Full Units w/C],
    S.[2013 Full Units w/C],  S.[2014 Full Units w/C], S.[2015 Full Units w/C], 
    S.[2016 Full Units w/C], S.[2017 Full Units w/C], S.[2018 Full Units w/C]
from strap S
inner join ProductFamily P on S.[prod series] = P.productfamily
inner join facility F on S.[build plant] = F.location;

(我不喜欢表名和列名中的空格)

于 2013-06-19T14:21:38.533 回答