0300valid.mql 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. -- 查询指定 DB 下的 表
  2. -- /DB/table 与 class 命名发生冲突时,class 优先级高于 /DB/table
  3. select * from /msqldb/sqlite_master
  4. /**
  5. output()
  6. **/
  7. ;
  8. select * from /msqldb/T__matrix__test___422YX2FPSXSLVDA9
  9. where day between '2026-01-01' and '2026-10-10'
  10. /**
  11. output()
  12. **/
  13. ;
  14. -- 全量映射(也可以指定固定条件映射部分数据),
  15. -- 实际类中没有数据
  16. -- 查询时自动赋值默认类属性:
  17. -- class: 类名/mdb/dba1,
  18. -- id: 组合映射表主键为字符串,
  19. -- name: 与id相同,
  20. -- day: 当前日期,
  21. -- vtime: 当前时间
  22. -- rdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序或相应表字段定义顺序一致
  23. -- rdb 数据 与 id 一一对应,实际 二维数组中的第一维 有且只有 一个元素
  24. -- 支持 bucket 链式表达式
  25. select id,rdb from /mdb/dba1
  26. /**
  27. output()
  28. **/
  29. ;
  30. -- 条件映射
  31. -- 类中需要有数据,按指定条件映射数据,条件与类数据有关联
  32. -- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致
  33. -- xrdb 数据 与 id 为多对一关系,默认输出第一条记录,需要在 bucket 定义时明确数据唯一排序,否则数据输出可能不稳定
  34. -- 支持 bucket 链式表达式
  35. select * from /mdb/dba2
  36. /**
  37. output()
  38. **/
  39. ;
  40. -- 条件映射
  41. -- 类中需要有数据,按指定条件映射数据,条件与类数据有关联
  42. -- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致
  43. -- xrdb 数据 与 id 为多对一关系
  44. -- 支持 bucket 链式表达式
  45. select id,xvarchar,xrdb.find(整数>1) from /mdb/dba2
  46. /**
  47. output()
  48. **/
  49. ;
  50. -- 条件映射
  51. -- 类中需要有数据,按指定条件映射数据,条件与类数据有关联
  52. -- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致
  53. -- xrdb 数据 与 id 为多对一关系
  54. -- 支持 bucket 链式表达式
  55. select id,xvarchar,xrdb.find(整数>1).groupby("文本").count() from /mdb/dba2
  56. /**
  57. output()
  58. **/
  59. ;
  60. -- 条件映射
  61. -- 类中需要有数据,按指定条件映射数据,条件与类数据有关联
  62. -- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致
  63. -- xrdb 数据 与 id 为多对一关系
  64. -- 支持 bucket 链式表达式
  65. -- 支持 assert(AEXP)
  66. -- select id,xvarchar,xrdb.find(整数>1).groupby("文本").count() from /mdb/dba2 where xrdb.avg("浮点").groupby("字符串").assert(avg>0)
  67. /**
  68. output()
  69. **/
  70. ;
  71. -- 条件映射
  72. -- 类中需要有数据,按指定条件映射数据,条件与类数据有关联
  73. -- TODO 重组 xrdb 指定字段,输出平表
  74. -- TODO 允许 bucket 与普通类操作方式一致
  75. -- TODO assert(AEXP) 可转换为 id in bucketfield.exps(...).find(AEXP).ids(),
  76. -- TODO 相同的链式表达式 bucketfield.exps(...) 可以复用中间结果
  77. -- select id, xrdb.字符串, xrdb.整数.mod(10) from /mdb/dba2 where xrdb.整数 > 0
  78. /**
  79. output()
  80. **/
  81. ;