を照会します。使用すると、私はこのようなクエリを実行する必要が
は次のように表の列を想定 - <key>,<name>,<value>
と私は名前=「NAME」の値を見つける必要があります以下の条件で行う。
- キーは、name_i = 'NAME_i'、値= 'VALUE_i'のkeys_iにする必要があります。
- キーはkeys_j(name_j = 'NAME_j'、value = 'VALUE_j')にある必要があります。
- キーはkeys_k(name_k = 'NAME_k'、value = 'VALUE_k')にする必要があります。
私は現在の形のネストされたクエリを使用しています:
Select a.value from <table_name> a
where a.name='NAME'
and a.key IN(
Select b.key
from <table_name> b
where (b.name = 'NAME_i' and b.value = 'VALUE_i')
and b.key IN(
Select c.key
from <table_name> c
where (c.name = 'NAME_j'
and c.value = 'VALUE_j')
and c.key IN(
Select d.key
from <table_name> d
where (d.name = 'NAME_k' and d.value = 'VALUE_k'))));
は、自己が参加使用して、より一般化された形式または任意の他の技術はありますか?私のテーブルは小さく、最適化は本当に必要ではありませんが、大規模なデータセットにとって理想的なソリューションは何でしょうか?