我正在尝试从最新的Cash记录中获取所有字段,然后从相关的“交易信息”记录中获取所有字段。我还不能完全解决这个问题:
select t.*, top 1 c.* from Cash c
inner join TransactionInfo t
on c.TransactionID = t.id
order by c.createdOn desc
答案 0 :(得分:2)
select top 1 *
from Cash c
inner join TransactionInfo t on c.TransactionID = t.id
order by createdOn desc
答案 1 :(得分:1)
top 1
在那做什么?如果你只想要一行,那么TOP(1)必须首先出现:
SELECT TOP(1) t.*, c.*
FROM Cash c
INNER JOIN TransactionInfo t
ON c.TransactionID = t.id
ORDER BY c.createdOn DESC
答案 2 :(得分:0)
选择t。,c。 from(从创建的商品订单中选择最高1 *来自现金订单 ) C 内连接TransactionInfo t 在c.TransactionID = t.id上 按创建的desc命令
不要使用select *尤其是连接,这会浪费服务器资源。
答案 3 :(得分:0)
SELECT c.*, t.* FROM cash c, transactioninfo t
WHERE c.infoid = t.id AND c.createdOn = (SELECT max(createdOn) FROM cash WHERE infoId = t.id) ORDER BY transactiontabledate desc
您需要在每个transactionId的现金表中找到包含最新日期的记录,并使用该记录在您的查询中过滤掉它。