2016-12-20 9 views
-2

単純なLost and Foundデータベースを作成します。私はtable2(システムで追加)を "costumer"が入っていて、 "ztracena _/_ nalezea"を0で失われ、1が見つかったと定義しています。 次に、テーブル1のものを重量、色などのように指定します。 今、私はこれらの2つのデータでtable3(match)を埋めたいと思います。私はtable2で一致する必要がありますが、私は1つが失われ、1つが1(table2)であることが必要です。 本当に私はそれを十分に説明することを願っています。手伝ってくれてありがとう! enter image description heretable1の一致とtable2の不一致に応じてtable3にデータを挿入

+0

サンプルデータ、あなたの努力および予想される出力 – GurV

+0

ようこそ。 [どのようなトピックについて私が尋ねることができます](http://stackoverflow.com/help/on-topic)と[よくある質問をする方法](http://stackoverflow.com/help/how-to-ask)をお読みください。 )そして完璧な質問と、[最小限で完全で検証可能な例](http://stackoverflow.com/help/mcve)の作成方法SOは無料のコーディング、コード変換、デバッグ、チュートリアル、ライブラリ検索サービスではありません。だから私たちはあなたの試みを修正する、我々はあなたのためのものをコード化しない – Mingebag

答えて

0

サンプルデータと希望の結果を提供できる場合は、はるかに簡単です。私はこれが何をしたいんだと思う:

with t1 as (
    select 1 as flag, 1 as id from dual union all 
    select 1 as flag, 2 as id from dual union all 
    select 0 as flag, 3 as id from dual union all 
    select 0 as flag, 4 as id from dual 
), t2 as (
    select 1 as id, 'yellow' as color, 'hat' as category from dual union all 
    select 2 as id, 'red' as color, 'box' as category from dual union all 
    select 3 as id, 'yellow' as color, 'hat' as category from dual union all 
    select 4 as id, 'red' as color, 'hat' as category from dual 
) 
select tflag0.id || ' matches ' || tflag1.id from 
    (select t1.id, t2.color, t2.category from t1 inner join t2 on (t1.id = t2.id) where flag = 0) tflag0 --things lost 
    inner join 
    (select t1.id, t2.color, t2.category from t1 inner join t2 on (t1.id = t2.id) where flag = 1) tflag1 --things found 
    on (tflag0.color = tflag1.color and tflag0.category = tflag1.category); 

最初の部分は、我々は物事についての説明がありt2で失われたことを意味何かを/置くあなたのテーブルとしてt1を定義します。クエリではidt1に同じ記述があり、1人が見つけてもう1人はそれを失っています。今すぐあなたのモデルにソリューションを適応させてください。

+0

ここに私の問題は画像[リンク](https://i.imgsafe.org/a6ff75aaf7.jpg)または代替[リンク](http:// imgur.com/a/ej2yR)助けてくれてありがとう! –

+0

+ Iamはテーブル1で間違って写真を撮ってしまいました。3日目と4日目は違う色にマッチしていませんでした...何かをテストしていましたが、それは戻ってきませんでした...しかし1stと2ndはまだ一致しています...それらで:) –