-1
Q
數據幀的基礎上
A
回答
0
傳遞特性的想法是選擇一個來源,並嘗試找到兩個目標的傳遞性。如果那些是相同的,那麼你有正確的組合。
我爲調試目的添加了額外的列,但查詢可以簡化一點點。
SELECT *
FROM (
SELECT source.[V1], source.[V2],
target1.[V1] as t1_v1,
target1.[V2] as t1_v2,
target2.[V1] as t2_v1,
target2.[V2] as t2_v2,
CASE WHEN source.[V1] = target1.[V1]
THEN target1.[V2]
ELSE target1.[V1]
END as transitive1,
CASE WHEN source.[V2] = target2.[V2]
THEN target2.[V1]
ELSE target2.[V2]
END as transitive2
FROM A as source
JOIN A as target1
ON (source.[V1] = target1.[V1] OR source.[V1] = target1.[V2])
AND NOT (source.[V1] = target1.[V1] AND source.[V2] = target1.[V2])
JOIN A as target2
ON (source.[V2] = target2.[V1] OR source.[V2] = target2.[V2])
AND NOT (source.[V1] = target2.[V1] AND source.[V2] = target2.[V2])
) T
WHERE T.transitive1 = T.transitive2
輸出
爲了得到你想要選擇正確的列,並添加aditional的過濾結果
SELECT T.[V1] as [V1],
T.[V2] as [V2],
T.[transitive1] as [V3]
....
WHERE T.[V1] > T.[V2]
AND T.[V2] > T.[transitive1]
AND T.transitive1 = T.transitive2
相關問題
- 1. 熊貓:行數爲列值的基礎上排序數據幀
- 2. 拆分一個多指標數據幀的基礎上另據幀
- 3. 在數據幀上的列名的基礎添加兩列
- 4. 拆分數據幀並寫入新的CSV的基礎上環
- 5. 熊貓:在數據幀基礎上的日期範圍和ID
- 6. 數據總結基礎上
- 7. 排序一個數據幀基礎上多列 - 排序問題
- 8. 如何基於在基礎R另一個數據幀
- 9. 顯示數據的基礎上
- 10. 日期時間基礎參數的取數據格式的基礎上
- 11. 熊貓:添加新的列在數據幀基礎上在列的值
- 12. 切片數據基礎上多列
- 13. 基礎上的CurrentUICulture
- 14. 基礎上的actionPerformed
- 15. 此基礎上
- 16. 數據庫基礎知識
- 17. 的R - 基於從基準數據幀
- 18. 基礎上可變
- 19. 基礎上多列
- 20. 基於另一個數據幀更改數據幀的值
- 21. 如何在數據幀的基礎添加列於其他列的值火花
- 22. WPF數據綁定的基礎知識
- 23. 以Rx爲基礎的數據緩衝
- 24. Uint8Array.buffer數據的基礎16編碼
- 25. 連接表的基礎上,
- 26. MySQL的基礎上多列
- 27. 排序鍵的基礎上
- 28. 錯誤基礎上的MacOS
- 29. 失敗基礎上的Ubuntu
- 30. 總表的基礎上表
這是什麼邏輯?爲什麼沒有'{1,6,5}' –
因爲沒有{1,5} – user2999110