テーブルAがあります。
|----+----| | | ぴ | さ | |----+----| | | p1 | 1 | | | p2 | 7 | | | p3 | 14 | | | p4 | 23 | | | p5 | 1 | |----+----|
および表 B
|----+----| | | さ | シー | |----+----| | | 1 | 21 | | | 5 | 21 | | | 23 | 21 | | | 1 | 30 | | | 7 | 90 | |----+----|
テーブルAをソートする必要があります。
ソート順:
A. (TableA.S = TableB.S) および TableB.C = 21 の場合、TableA.S が存在します。 B.テーブルA.P
最終出力:
|----+----| | | ぴ | さ | |----+----| | | p1 | 1 | | | p4 | 23 | | | p5 | 1 | | | p2 | 7 | | | p3 | 14 | |----+----|
これは DBIx::Class クエリに変換する必要があります。
私は次のことを試しました:
テーブルA.P、テーブルA.Sを選択 tableA から tableA.S で tableB を左に結合 = tableB.S ここで (tableB.C = 21 または tableB.C は NULL) tableB.C、tableA.P 順
しかし、tableB.S が '7' である結果を取得する場所がありません。
ありがとう。