试试这个
SELECT c.sin, c.name
FROM customer c
INNER JOIN trans t ON t.sin = c.sin
WHERE t.funcID = XXXX
AND t.transDate = '2012-10-19'
如果你想要文本匹配,即“能量”
SELECT c.sin, c.name
FROM customer c
INNER JOIN trans t ON t.sin = c.sin
INNER JOIN fund f ON f.fundID = t.fundID
WHERE f.fundName = 'Energy'
AND t.transDate = '2012-10-19'
编辑:
从您的回复中,交易表 (trans) 可以包含同一基金 ID 的同一日期的大量记录,这些记录将是该基金的买入/卖出。
在这种情况下,您将需要对这些求和。子查询可以做到这一点。我相信以下内容可以为您提供 sin、fundID、transDate 和 remaining_shares 的唯一编号。通过这种方式,您可以修剪所有交易并仅保留积极的交易,然后您可以与您的客户一起加入。
SELECT t.sin, t.fundID, t.transDate, SUM(t.shares) AS remaining_shares
FROM trans t
WHERE SUM(shares) > 0
GROUP BY t.sin, t.fundID
高温高压