2011-01-13 16 views
1

ビューのクエリを作成しようとしていますが、取得できないようです...私は2つのテーブルを持っていますが、必要なものは私が取得したいと思いT-SQL Join Query

 Table 1  Table 2 
    Jhon   Car 
    Bill   House 
       Jet 

 
    Table 3 
    Jhon Car 
    Jhon House 
    Jhon Jet 
    Bill Car 
    Bill House 
    Bill Jet

ごとにID表1に、私は、例えば、テーブル2上のすべてのレコードを取得します

P.S.両方の表のデータは異なる場合があります。 P.S.S.表1は実際には、最初の表に索引が含まれ、2番目に表2との関係を作成するために使用されるフィールドを含む2つの他の表間の左外部結合です。

答えて

6

この(AKAデカルト積)には、CROSS JOINが必要です。

SELECT t1.col, t2.col 
FROM Table1 t1 cross join Table2 t2 
+0

この

select * from table1, table2 

またはCROSS JOINを使用してくださいすべての答えは良好であったが、この1は最初に来ました。 :) – PedroC88

2
SELECT * 
FROM table1 
CROSS JOIN 
     table2 
3

データベースがサポートしている場合

+1

SQL Serverはそれをサポートしているので、明示的な構文を使用して意図的であることがわかるようにすることをお勧めします。 –

+0

コード、XML、またはデータサンプルを投稿する場合は、テキストエディタでこれらの行を強調表示し、エディタツールバーの[コードサンプル]ボタン({})をクリックして、フォーマットや構文を強調表示してください! –

+0

これは「古いスタイルの」JOIN構文です。どちらも非推奨です(必要に応じてINNER JOIN、OUTER JOIN、CROSS JOINなどの明示的な結合を使用する必要があります)。私は可能なら**この構文を避ける**だろう –

2
select columns you want to get 
from Table1 Cross Join Table2