2016-10-02 5 views
0

の条件により複数のテーブルデータをフェッチテーブルでSQLクエリの二つは</p> <p>サテーブル、LV、AR、で、私は、4つのテーブルSAを有するテーブル

|Name| 
|s1| 
|s2| 
|s3| 

で構成

|Name| 
|t1| 
|t2| 
|t3| 
から成ります

arテーブル構成

|Name| 
|r1| 
|r2| 
|r3| 

lvのテーブルconsust

|Name| 
|l1| 
|l2| 
|l3| 

は、今私は2つのテーブルがPF持って、

PFテーブルがPFテーブルは任意の値 'すべて' を持っているならば、それは、すべての組み合わせを更新します今

|sa| at| ar| lv 
|s1| t1| r1| l1| 

で構成PFS他のテーブルデータをpfsに

saのように 'All'

|sa| at| ar| lv| 
    |All| t1| r1| l1 

その後の表は、PFはsa = 'All'at = 'All'から成るならば、PFS

s1,s2,s3t1,t2,t3のすべての組み合わせは、あなたが、私はそれよりエレガントな方法行うことができますどのように私に助言してくださいすることができ、このように

|sa| at |ar| lv| 
    |s1| t1| r1| l1| 
    |s2| t1 | r1| l1| 
    |s3| t1| r1| l1| 

を持つべきであるPFS ?

私はpfにトリガーを書く必要があることを知っています。

どんなhepも本当に感知できるでしょう。

答えて

1

クエリ:組み合わせ期待

select 
    coalesce(sa.name, sa) as sa, 
    coalesce(at.name, at) as at, 
    coalesce(ar.name, ar) as ar, 
    coalesce(lv.name, lv) as lv 
from pf 
left join sa on pf.sa = 'All' 
left join at on pf.at = 'All' 
left join ar on pf.ar = 'All' 
left join lv on pf.lv = 'All'; 

戻ります。必要に応じて、トリガーまたはスタンドアロンクエリとして使用します。

関連する問題