我有一张表格,其中包含日期,交易ID,金额。 “事务ID”是数字和字母数字。首先,我需要检查“事务ID”以特定字母开头的第一种情况,然后我需要为特定的“事务ID”提取“日期”。然后根据特定的“日期”我需要提取交易数据。请帮我解决这个问题。
答案 0 :(得分:1)
您可以使用EXISTS子句检查子查询中的日期。
这将返回在具有以字母N
开头的transaction_id的日期上发生的所有事务SELECT *
FROM some_table st
WHERE EXISTS
( SELECT 1
FROM some_table st1
WHERE st1.date = st.date
AND st1.transaction_id LIKE 'N%'
)
这些也可以在transaction_id上使用索引,这可以加快速度
答案 1 :(得分:0)
您可以找到transactionId的日期,该日期以;让我们说'A':
SELECT date FROM your_table WHERE transactionId LIKE 'A%';
现在您在使用'LIKE'
搜索时可能有多条记录,然后根据日期可以从表中获取数据:
SELECT * FROM your_table WHERE date = '2014-12-25 10:40:00';
但如果您准确了解您的transactionId,那么以下查询就足够了。
SELECT * FROM your_table WHERE transactionId = 'A1001';