我有一个要求,我必须按照以下条件从客户表中获取数据。
客户表包含客户id.action,时间戳,范围
列1.需要使用范围查询客户表,该范围为特定范围提供数据。
2.对于相同的客户ID可以有多行,因此为了获取单行,条件是如果客户操作更新则必须采用最新行。如果操作是插入,则我们只需要考虑插入。
我使用多个查询来完成此操作,例如获取不同的客户ID,然后再次查询仅插入并将客户ID放入数组中,然后使用剩余的客户ID进行再次查询。但我觉得这可以用更有效的方式完成,你们中的任何人都可以告诉我更好的解决办法吗?
答案 0 :(得分:0)
您可以尝试以下查询。我不确定您是否期望以下查询。
对于插入
C:\Python27\Scripts>pip2.7.exe install ibm_db
Collecting ibm-db
Could not find a version that satisfies the requirement ibm-db (from versions:)
No matching distribution found for ibm-db
C:\Python27\Scripts>
更新
SELECT *
FROM customer_changes
WHERE action = 'I'
AND custidpub EXISTS (SELECT DISTINCT custidpub
FROM customer_changes
WHERE rangeid ='YOUR_RANGE')
ORDER BY timestamp