2013-02-23 73 views
0

我有以下INNER JOIN查詢,您可以在小提琴here中看到該操作。將附加列添加到INNER JOIN SQL查詢

SELECT b.*, c.date2 
FROM (
      SELECT a.work, a.amount, 
        COUNT(*) totalCount, 
        SUM(Amount) totalAmount 
      FROM tableName a 
      GROUP BY a.work, a.amount 
     ) b 
     INNER JOIN 
     (
      SELECT a.work, a.amount, DATE_FORMAT(Date,'%D %M %Y') date2, 
        date 
      FROM tableName a 
     ) c ON b.work = c.work and b.amount=c.amount 
ORDER BY b.work, b.totalCount, c.date 

我想補充另一塔,被稱爲「網址」的查詢,在相同的方式,日期列的作品,即它在「URL」列返回不同值的每一行。您可以在小提琴here中找到包含新列的模式。我不知道如何調整查詢以返回具有不同「url」值的額外列。我已經嘗試了一些東西,但無法讓它正常工作。

+0

有什麼期望輸出寫? – hkutluay 2013-02-23 11:03:18

+0

期望輸出與第一個小提琴中的輸出相同,但每行的不同URL值都有一個附加列。 – Nick 2013-02-23 11:06:11

回答

2

你可以試試這個...

 
    SELECT b.*, c.date2, c.url 
    FROM (
      SELECT a.work, a.amount, 
        COUNT(*) totalCount, 
        SUM(Amount) totalAmount 
      FROM tableName a 
      GROUP BY a.work, a.amount 
     ) b 
     INNER JOIN 
     (
      SELECT a.work, a.amount, DATE_FORMAT(Date,'%D %M %Y') date2, 
        date, url 
      FROM tableName a 
     ) c ON b.work = c.work and b.amount=c.amount 
    ORDER BY b.work, b.totalCount, c.date 

+0

謝謝,這工作正常。我確信我嘗試了這個解決方案,但看起來我沒有辦法! – Nick 2013-02-23 11:12:46

2

它可以在較短的類似

SELECT a.work, a.amount, 
        COUNT(*) totalCount, 
        SUM(Amount) totalAmount, url, DATE_FORMAT(Date,'%D %M %Y') 
      FROM tableName a 
      GROUP BY a.work, a.amount, DATE_FORMAT(Date,'%D %M %Y')