use dataverse demo1112; | |
declare type CustomerType as open { | |
cid: int32, | |
name: string, | |
age: int32?, | |
address: AddressType?, | |
lastorder: { | |
oid: int32, | |
total: float | |
} | |
} | |
declare type AddressType as open { | |
number: int32, | |
street: string, | |
city: string | |
} | |
declare type OrderType as open { | |
oid: int32, | |
cid: int32, | |
orderstatus: string, | |
orderpriority: string, | |
clerk: string, | |
total: float | |
} | |
declare nodegroup group1 on nc1, nc2; | |
declare dataset Customers(CustomerType) | |
primary key cid on group1; | |
declare dataset Orders(OrderType) | |
primary key oid on group1; | |
write output to nc1:"/tmp/split01.adm"; | |
let $os := for $o in dataset('Orders') return $o | |
for $o1 in $os | |
for $o2 in $os | |
where $o1.cid = $o2.cid | |
return { "o1": $o1.oid, "o2": $o2.oid, "cid": $o1.cid } |