2016-05-11 35 views
0

我有三个表,分别是pf,pm和s.i,它们成功地连接了表pf和pm.but,但当我尝试连接这两个表时,我挣扎着。如何与另一个表连接两个表

表PF包含 - 样式,颜色,米,堆场,公斤,grn_no和tag_gen

表时包含 - 日期,CUSTOMER_ID,gp_no

我有加入使用pm.go_no和PF这两个表.grn_no.it的作品。 现在我正试图加入到这个表中。

表s包含 - CUSTOMER_ID,样式,颜色和unit_qty

所以我想要做的是我想要得到它匹配PF表样式,颜色和PM表CUSTOMER_ID Unit_qty。

这里是我的代码

SELECT pm.date, pm.customer, pf.style, pf.color, s.unit_qty, COUNT(pf.roll_no) AS Roll_QTY, SUM(pf.yard) AS Yard_QTY, SUM(pf.meter) AS Meter_QTY, SUM(pf.kilo) AS Kilo_QTY, SUM(case when pf.aql_status = 0 then pf.meter else 0 end) FB_Not_Passed_Qty, SUM(case when pf.aql_status = 1 and pf.tag_gen = 0 then pf.meter else 0 end) Not_Planned_Qty 
FROM packinglists_main pm, packinglists_fabrics_items pf, style_data s 
WHERE pf.grn_no= pm.gp_no[ AND pm.date BETWEEN {DateR,RANGE1} AND {DateR,RANGE2}][ AND s.style = pf.style][ AND s.color = pf.color][ AND s.customer_id = pm.customer_id] 
GROUP BY pm.customer, pf.style, pf.color 
+2

(1)我删除了无关的数据库标记。请适当标记并为您实际使用的数据库添加标记。 (2)学习使用适当的显式'JOIN'语法。 –

+0

阅读正确的JOIN语法。你所拥有的联结是陈旧的和古老的,不应该用在现行标准中。 –

+0

卷曲和方括号是什么意思?产品特定? – jarlh

回答

0

这将返回所有从你的三个表中的列。做任何你想做的事

SELECT * from pf 
INNER JOIN pm on pf.grn_no = pm.gp_no 
INNER JOIN s on s.style = pf.style 
     AND s.Color = pf.Color 
     AND s.CustomerID = pm.CustomerID