2011-10-25 14 views
0

テーブルAとテーブルBが2つあると、テーブルAにID:VALUE、ACTIVE: という列があり、テーブルBにID:NAME、ACTIVEの列があります。類似の列を使用してジョインするにはどうすればよいですか?

A.ACTIVEとB.ACTIVEは異なるものを指します。 FROM SELECT *際

は私がどのであるかを知るように活性カラムを区切るたいA.ID = B.ID

ON Bに参加します。 これを達成するにはどうすればよいですか? ありがとう!

答えて

4

は*を使用し、各列に

select a.active as a_active, b.active as b_active, ... 
    from a join b on a.id = b.id 
+0

アスタリスクでこれを行う方法はありますか? – Ted

+0

技術的にはまだ。*、b。*、...を使用することができますが、とにかく使用するすべての列を修飾するのが一般的には良い方法です。 – dispake

+0

@テッドNo:。*、b。*を使用する方法はありません - 各列に名前を付けて、必要に応じてエイリアスを付ける必要があります – Bohemian

1

A.ACTIVEを修飾し、B.ACTIVEは、私はあなたがあなたの命名規則を再評価すべきだと思うの異なるもの

を参照しないでください。 ACTIVEのドメインからの列は、スキーマ(表)内の各オカレンス(列)ごとに異なる名前を持つ必要があると考えてください。最初のステップは、テーブル名を付けることによって、それらを修飾してみてください...しかし、最初 ABよりも、より意味のある名前を考えるよう:)

@あたりdispakeの答えとして、あなたは上の「列の名前を変更するAS句を使用することができますあなたが頻繁にそれを行う必要がある場合、これはコードのにおいとみなされるべきです。

関連する問題