もしunnest(Table2.L) != '-'
あなたが意味するなら
ネストされていない要素をすべて破棄します'-'
次に、派生テーブルを使用して、不要なネストされていない値を除外します。
select *
from (
select unnest(Table2.L) as X, unnest(Table1.O)
from Table1 join Table2 on Table1.code = Table2.code
) dt
where X != '-'
order by X ;
あなたが意味するなら
が含まれてTable2
いる場所からのすべての行を無視しますL
'-'
次に、@>
演算子L
を使用して、特定の要素が含まれているかどうかを確認できます。
select unnest(Table2.L) as X, unnest(Table1.O)
from Table1 join Table2 on Table1.code = Table2.code
where not Table1.L @> ARRAY['-']
またはあなたは任意を使用することができます:
select unnest(Table2.L) as X, unnest(Table1.O)
from Table1 join Table2 on Table1.code = Table2.code
where not '-' = any(Table1.L)
また、暗黙的な結合が存在することを忘れて、常に明示的な結合条件を使用してください。