2013-06-02 139 views
-3

我有场Profit其中EasyPasia得到了(10,10)Omni(15,15)命名EasyPaisaTimePay,并Omni三个表,TimePay(20,20)一笔不显示正确的结果

  1. EasyPaisa与和利润20
  2. 全方位与和利润30
  3. TimePay与和利润40

,当我拿出利润与此查询:

SELECT 
    Sum(EasyPaisa.Profit) AS Expr1, 
    Sum(Omni.Profit) AS Expr2, 
    Sum(TimePay.Profit) AS Expr3 
FROM 
    EasyPaisa, 
    Omni, 
    TimePay; 

它给我的结果是实际结果的两倍

  1. EasyPaisa利润为40
  2. 全方位利润为60
  3. TimePay利润为80
+0

请显示表格的定义,以便我们可以帮助您。 –

+0

当您使用FROM tableA,tableB,tableC时,您实际上是在没有公共列的连接表上连接它们,这会导致您的“连接”表具有3个表中所有行的组合,请阅读JOIN SQL知道更多。 –

回答

0

你在找这个?

SELECT 
    (SELECT SUM(Profit) FROM EasyPaisa) Expr1, 
    (SELECT SUM(Profit) FROM Omni)  Expr2, 
    (SELECT SUM(Profit) FROM TimePay) Expr3 

输出:

| EXPR1 | EXPR2 | EXPR3 | 
------------------------- 
| 20 | 30 | 40 | 

这里是SQLFiddle演示。

+0

感谢您的答复我真的很感激它, 我解决它周围的其他方法我创建了三个视图中的每个视图包含一个表和,在我现在又增加了这三个视图第四视图它显示我正确的结果, 尽管3负面反应我欣赏stackoverflow和我最好的问候彼得他的帮助, 谢谢 – SMHasnain