現在、必要なデータを取得するには、複数のSQLステートメントを実行する必要があります。
SELECT pubkey.pubkey_id
FROM pubkey
WHERE pubkey.pubkey_hash = (input data [1])
SELECT txin_corr.tx_id
FROM txin_corr
WHERE txin_corr.pubkey_id = (pubkey.pubkey_id from previous query [max. 1])
SELECT txin_corr.pubkey_id
FROM txin_corr
WHERE txin_corr.tx_id = (txin_corr.tx_id from prev.qry. [n])
SELECT pubkey.pubkey_hash
FROM pubkey
WHERE pubkey.pubkey_id = (txin_corr.pubkey_id from prev.qry. [n])
最初のクエリは1回だけでよいので、問題ありません。しかし、(少なくとも)最後の3つのクエリを組み合わせる方法があるかどうか疑問に思っています。dbはかなり大きい(〜20 GB)ので、「適切なクエリ」によって処理が大幅に高速化される可能性があると思います。
私がしていることは次のとおりです。特定のpubkey_id
/について、同じ行にこれを含むpubkey_hash
すべてtx_id
のsを取得します。次に、取得したsが行に含まれている場所からすべてのsを取得します。最後に、現在取得されているのすべてのを取得します。txin_corr
pubkey_id
pubkey_id
txin_corr
tx_id
pubkey_hash
pubkey_id