0

1 対多の関係である 2 つのテーブルを持つ mysql データベースがあります。

table1要素{A,B,C...,N}
table2あり 要素あり{A1,A2,...,AX,B1,B2,...BX,C1,C2,C3,...,CX,...,N1,N1,N3,...,NX}

テーブル 1 に対してクエリを実行すると、要素のサブセットが返されます。{A,D,T} (このサブセットは大きく、100 要素になる可能性があります)

ここで、2 番目のテーブルにクエリを実行して、最初のサブセットにマップされるすべての要素を取得する必要があり、2 つの列で並べ替える必要があります。

最初のクエリのサブセットのサイズが動的である場合、2 番目のクエリを作成する最善の方法は何ですか? たくさんの OR を含む文字列が必要ですか?

SELECT * FROM table2 WHERE ID = A or ID = D ..... ORDER BY X,Y
4

2 に答える 2

1

これを試して

SELECT * FROM table2 WHERE ID IN (SELECT ID FROM table1)
于 2012-11-20T17:57:44.573 に答える
0
SELECT DISTINCT table2.*
FROM
  table2 INNER JOIN
  (Select ID from table1 where ..your conditions..) filtered_table1
  on table2.ID = filtered_table1.ID
ORDER BY table2.field1, table2.field2
于 2012-11-20T18:03:21.077 に答える