我想從不同的查詢中查找值。我偶然發現了兩個可能有意義的關鍵字:join和lookup.
leftsemijoin 看起來正是我需要的,但我無法訪問右側的列。我嘗試過的任何其他變體都在添加更多行。結果表的條目不應多于FactTable,但在空值的情況下可以更少。
let FactTable=datatable(name:string,timeprofile:string) [
"Paul", "10:30",
"Eric", "8:30",
"Eric", "9:30",
"Petra", "9:49"
];
let DimTable=datatable(name:string,details:string) [
"Paul", " ",
"Eric", "-",
"Eric", "-",
"Eric", "-",
"Lessly", " ",
"Martha", " ",
"Martha", " ",
"Martha", " "
];
FactTable
| join kind=leftsemi DimTable on name
但是生成的表缺少details來自DimTable.

uj5u.com熱心網友回復:
- 性能方面,建議在左側小而右側大時加入
- 切換表的順序后,默認的 Join 型別innerunique完全符合您的需要 - 從左側洗掉重復項的內部聯接
DimTable
| join kind=innerunique FactTable on name
或者干脆
DimTable
| join FactTable on name
| 姓名 | 細節 | 名稱1 | 時間概況 |
|---|---|---|---|
| 保羅 | 保羅 | 10:30 | |
| 埃里克 | - | 埃里克 | 8:30 |
| 埃里克 | - | 埃里克 | 9:30 |
小提琴
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/480341.html
