2016-04-09 3 views
1

我々のような2つの単純なテーブル考えてみましょう:私は私のクエリで取得したい何2つのテーブルからすべてのレコードを取得するには?

**table1**      **table2** 
Nr Color      Id Type 
1 green      43 metal 
2 red      52 glass 
3 black      
4 white 

は次のとおりです。

Nr Color Id Type 
1 green 43 metal 
2 red  52 glass 
3 black 
4 white 

私を助けてください。

+0

リンク2テーブルのフィールドは何ですか? –

+2

これらのテーブルを接続する方法はないので、そのような結果に意味はありません。 DBMSではすべてが可能ですが、なぜこれが必要ですか?クライアントでもそうすることができます。 – dnoeth

+1

リレーショナルデータベースはリレーションシップに関するものです。あなたのテーブルは関連していません。これを解決するための簡単なSQLクエリはありません。この形式でデータを表示する場合は、SQLを使用して最初に1つのテーブルからデータを選択し、次に別のテーブルからデータを選択し、GUIクライアントを使用して表示を気にする必要があります。 –

答えて

1

単にその不可能、あなたはここで、いくつかのトリックを行う必要があります。..

select Nr, Color, Id, Type 
from (select @counter1 := @counter1+1 as counter, Nr, Color 
     from table1, (select @counter1 := 0) init) t1 
left join (select @counter2 := @counter2+1 as counter, Id, Type 
      from table2, (select @counter2 := 0) init) t2 
using (counter) 

プロデュース結果

Nr Color Id Type 
1 green 43 metal 
2 red  52 glass 
3 black 
4 white 

しかし、コメントとしては、ベストプラクティスは、テーブル間の関係を定義であることを示唆しています。

+1

偉大な答え!ブラボー:-) –

関連する問題