2015-05-22 37 views
0

我有2級表的事務和trans_comments的時候,當我做一個內部聯接返回的非常1項,我想要做的是顯示地址和地位形成的交易表最後評論進入並從trans_comments表MySQL的 - 選擇在第二個表中的最後一個條目加入2個表

這裏約會是我得到的

SELECT t.address, t.status, c.time, c.comment 
FROM transactions t 
INNER JOIN trans_comments c ON c.transactionId = t.transactionId 
WHERE STATUS LIKE '%Listing%' 
GROUP BY t.address DESC 

我缺少什麼?

這裏是表格的佈局:

`transactions` (
    `transactionId` int(11) NOT NULL AUTO_INCREMENT, 
    `address` varchar(45) NOT NULL, 
    `listing_agent` varchar(65) DEFAULT NULL, 
    `status` varchar(45) NOT NULL, 
    `notes` varchar(100) DEFAULT NULL, 
    `file_type` varchar(25) NOT NULL, 
    `system` varchar(25) DEFAULT NULL, 
    PRIMARY KEY (`transactionId`)  
)ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=41 ; 

`trans_comments` (
    `commId` int(11) NOT NULL AUTO_INCREMENT, 
    `transactionId` int(11) NOT NULL, 
    `comment` blob NOT NULL, 
    `commentBy` varchar(45) NOT NULL, 
    `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    PRIMARY KEY (`commId`), 
    KEY `transactionId` (`transactionId`) 
)ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=101 ; 

感謝

+0

你被mysqls '樂於助人' 撤消。 '無法使用組by'爲你想作什麼用途 - 它選擇的值的字段不是'組by'條款,或者沒有在聚合函數中使用的是不確定的 –

回答

-1
SELECT t.address, t.status, c.time, c.comment 
FROM transactions t 
INNER JOIN 
    (SELECT c1.* 
    FROM trans_comments c1 
    LEFT JOIN trans_comments c2 
    ON c1.transactionId = c2.transactionId 
    AND c1.`time` < c2.`time` 
    WHERE c2.commId IS NULL 
) c 
ON c.transactionId = t.transactionId 
WHERE STATUS LIKE '%Listing%' 
+0

偉大的工作,亞歷克斯!這工作完美 –

相關問題