簡體   English   中英

選擇從表中區分以對另一個表中的值求和

[英]Select Distinct from table to sum values on another table

我有兩張桌子

    table1                   table2
    numID|counts|date        numID|net|tax|date
    1        1   xy            1    2   1   xy
    2        1   xy            2    2   1   xy
    3        1   xy            3    2   1   xy
    3        1   xy            4    1   1   xy
    4        0   xy    

因此,對於相同日期,numID和counts = 1的行,我需要對table2求和(凈額+稅額)。 我嘗試執行where子句,但numID 3將被添加兩次,但我只需要將其求和一次。 numID 4應該被省略,因為它的counts = 0。 我的選擇:

SELECT 
    SUM(`net`+`tax`) 
FROM table1 AS d, `table2` AS c
WHERE d.date=c.date
    AND d.numID=c.numID
    AND `it_counts` = 1

這將numID兩次添加兩次,但應該為DISTINCT

嘗試使用相關的exists查詢重寫此語句:

SELECT
    SUM(`net`+`tax`) 
FROM `table2` AS c
WHERE EXISTS (
    SELECT 1 FROM table1 AS d
    WHERE d.date=c.date
        AND d.numID=c.numID
        AND `it_counts` = 1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM