2015-02-10 235 views
0

我是SQL新手,有人可以回答我有什么问题?谢谢。SQL命令错误

SELECT 
    bom.Parent_Material_Number, 
    mm.Material_Number, 
    mm.Material_Descr_HU, 
    bom.Child_Material_Number 
FROM mm,bom 
GROUP BY mm.Material_Descr_HU 
+0

什么错误,你得到什么? – 2015-02-10 07:14:08

+0

添加您遇到的错误。 – 2015-02-10 07:15:59

+0

SQL qurey浏览器抛出它: 不能执行查询 而不是更多:/ – 2015-02-10 07:31:05

回答

0

您的查询是错误的。如果您打算使用GROUP BY子句,请确保取消组合字段具有聚合,例如SUM(), MIN(), MAX(), etc。看到我的例子如下:

SELECT 
     MIN(bom.Parent_Material_Number), 
     MAX(mm.Material_Number), 
     mm.Material_Descr_HU, 
     MIN(bom.Child_Material_Number) 
FROM mm,bom 
WHERE bom.Parent_Material_Number = mm.Material_Number 
GROUP BY mm.Material_Descr_HU; 

你也可以显式加入。请看下图:

SELECT 
      MIN(bom.Parent_Material_Number), 
      MAX(mm.Material_Number), 
      mm.Material_Descr_HU, 
      MIN(bom.Child_Material_Number) 
    FROM mm INNER JOIN bom 
    ON bom.Parent_Material_Number = mm.Material_Number 
    GROUP BY mm.Material_Descr_HU; 
0

我看到你从两个表毫米和bomz FROM mm,bomz采取记录,并没有加入子句这一个在你的发言。

+0

我应该这样做吗? '选择bom.Parent_Material_Number,mm.Material_Number,mm.Material_Descr_HU,bom.Child_Material_Number FROM毫米INNER JOIN BOM GROUP BY mm.Material_Descr_HU' – 2015-02-10 07:26:39

+0

不,这是一个隐含加入的只是一个相当于你在想什么马上。 – Rigel1121 2015-02-10 07:45:05

0

你需要一个JOIN或WHERE子句中的表连接在一起