1

次の説明が記載された2つのテーブルがあります。

record(record_id,min_index,max_index)

points(point_id,point_name,val1,val2,rank), point_id being on auto-increment

、fromレコードmin_indexテーブルは、ポイントテーブルのpoint_idsを指します。つまり、特定のレコードの場合、それぞれのポイントは>=min_indexおよび<=max_indexです。max_index

これらの2つのテーブルをマージして、ファイナルテーブルが次のようになるようにする必要があります。

points(point_id,record_id,point_name,val1,val2,rank)

これは正規化の基準に反していることは知っていますが、これは私が抱えている問題で非常にうまく機能しているようです。これら2つのテーブルをマージする方法がわかりません。

4

2 に答える 2

2

結合条件を指定するには、 MySQL の演算子を使用してテーブルを結合するだけです。BETWEEN ... AND ...

SELECT points.point_id,
       record.record_id,
       points.point_name,
       points.val1,
       points.val2,
       points.rank
FROM   points JOIN record ON
         points.point_id BETWEEN record.min_index AND record.max_index
于 2012-09-17T10:14:50.837 に答える
0
SELECT a.point_id,
   b.record_id,
   a.point_name,
   a.val1,
   a.val2,
   a.rank
from points a , record b
where ((point_id>=min_index)and (point_id<=max_index))
于 2012-09-17T10:21:18.630 に答える