我正試圖找到應用以下邏輯的最佳方法。我們的業務邏輯要求我在var表中插入一堆行,然後選擇所有不同的記錄,但只有匹配具有相同id的所有記錄纔將條件設置爲正值[所以基本按位與]在SELECT上應用按位AND邏輯的最佳做法
希望我的示例解釋那更好。
DECLARE @sometable TABLE (
record_id INT NOT NULL,
some_condition BIT NOT NULL)
記錄在該表將匹配
record_id some_condition
1 1
1 0
2 0
3 0
在上述情況下所需的輸出應該是
record_id some_condition
1 0
2 0
3 0
直到現在我怎麼一直在做這個是這樣的
SELECT DISTINCT record_id CAST(MIN(CAST(some_condition INT)) AS some_condition
FROM @sometable
GROUP BY record_id
是重新做一個更好的方法?我不得不CAS,因爲MIN只需要數字類型。
是的,不幸的是,我們的DAL Layer代碼需要一個BIT,但我喜歡這個技巧+0 – BarendB
@BarendB您的數據訪問層? ;) – ean5533
大聲笑錯字...是的,它是一層層:P – BarendB