1

10列のテーブルがあります。各列は ID です。例: TaskID colorID typeID....

ここで、このすべての情報を取得して、ID を「実際の」コンテンツに「変換」する必要があります。実際のコンテンツは 10 の異なるテーブルにあります。テーブルの色には色 ID と色の名前があり、テーブルの種類には ID と名前などがあります。

内部結合を使用した 9 つのサブクエリ以外に、どうすれば最善の方法で実行できますか?

今のところ私の解決策は次のとおりです。

select P.*, t3.name
FROM 
(select t1.*, t2.name
from t1 left join t2 on t1.id=t2.id) as P left join on P.id3=t3.i3

等々...

4

4 に答える 4

0

サブクエリは必要ありません。JOIN を使用してすべて実行できますが、データ セットが非常に大きい場合は、ID テーブルをそれぞれ 5 つの FK を持つ 2 つの異なるテーブルに分割することを検討してください。 7 テーブル。

于 2013-07-19T16:19:56.050 に答える
0

プログラムによるソリューションを使用しても問題ない場合は、Java の JPA を使用して Entity クラスを定義できます。これにより、10 個のテーブルすべてのデータを非常に簡単にフェッチできます。

同様の使いやすさのために、Ruby の ActiveRecord も使用できます。

于 2013-07-19T16:23:49.920 に答える