2016-10-21 14 views
0

私は自分の問題を探す方法を知らないので、ここに書いています。私は試しましたが、私は正しい言葉を使用しているかどうかわかりません...メインテーブルと他のテーブルとの間の条件付きリンク

私の問題はかなり単純です、私は多くの列を持つメインテーブル(Orderbook)を持っています、そのうちの1つはMaterial_IDですこれを「Material」テーブルに直接リンクします(ここまで問題はありません)。しかし、Material_IDという列は完全ではありませんでした。以前は、同じツールを使用しておらず、別の方法でデータが導入されていました。だからMaterial_IDが存在しないときは値の代わりに "X"があり、 "Old Material"テーブルから情報を得るためには "Old_Material_ID"というコードを使わなければなりません。

基本的には、値があるときにシステムが「Material_ID」列を参照し、そうでないときは、「Old_Material_ID」から情報を取得して別の表を参照してください...もの?それは簡単ですか?私はMS-AccessとMS-PowerBIで働いています。

私はたぶんマニュアルトリックを使ってすぐにそれを行うつもりですが、どうすればいいのか不思議です。

+0

いくつかのサンプル・テーブル・データを追加し、期待される結果 - 同様形式のテキスト。 – jarlh

+0

ようこそスタックオーバーフロー! [ask]と[mcve]を参照してください。 – Mat

答えて

0

これはあなたにそれを行う方法のアイデアを与える必要があります。

SELECT IIf(Material_ID='X',Old_Material_ID,Material_ID) AS MaterialID, 
    Nz(NewTable.MaterialName,OldTable.MaterialName) AS MaterialName 
FROM (Orderbook 
    LEFT OUTER JOIN New_Material_Table ON Orderbook.Material_ID=New_Material_Table.Material_ID) 
    LEFT OUTER JOIN Old_Material_Table ON Orderbook.Old_Material_ID=Old_Material_Table.Material_ID) 
関連する問題