我有一张桌子A。
|----+----| | 磷 | 小号 | |----+----| | p1 | 1 | | p2 | 7 | | p3 | 14 | | p4 | 23 | | p5 | 1 | |----+----|
和表 B
|----+----| | 小号 | C | |----+----| | 1 | 21 | | 5 | 21 | | 23 | 21 | | 1 | 30 | | 7 | 90 | |----+----|
我需要对表 A 进行排序。
排序顺序:
A. TableA.S 存在于 (TableA.S = TableB.S) 和 TableB.C = 21 B. 表 A.P
最终输出:
|----+----| | 磷 | 小号 | |----+----| | p1 | 1 | | p4 | 23 | | p5 | 1 | | p2 | 7 | | p3 | 14 | |----+----|
这需要转换为 DBIx::Class 查询。
我试过以下:
选择tableA.P、tableA.S 从 tableA 左连接 tableB 上 tableA.S = tableB.S 其中(tableB.C = 21 或 tableB.C 为 NULL) 按表 B.C、表 A.P 排序
但是我在某个地方找不到 tableB.S 为“7”的结果。
谢谢。