我想從表中選擇並使用CASE語句JOIN三行。我更習慣於C++,它將是一個IF語句,在這裏是壞的僞代碼(這適用於任何待加入的行,即,如果任何待加入的行具有.. 。)SQL:根據多行中的值加入多行
IF (value1 == 1) // IF any of the rows have value1 == 1
{
value1 = 1;
value2 = 0;
}
ELSE IF (value1 == 0 && value2 == 1) // IF all of the rows have value1 == 0 and any have value2 == 1
{
value1 = 0;
value2 = 1;
}
因此,例如,如果三排像下面(的ID必須是相同的,不要問我爲什麼...)
ID value1 value2
--------------------
1 1 0
1 0 0
1 0 1
我希望得到的加入排要
1 1 0
但是,如果三個原始行看起來像
ID value1 value2
--------------------
1 0 0
1 0 0
1 0 1
那麼我想加盟產生的排鬚
1 0 1
我對僞劣表格格式對不起,我不習慣標記。任何幫助或指針在正確的方向將不勝感激。速度不應該是一個問題,因爲每個查詢不得超過三行。
關於你的*僞劣格式*:只是簡單地用4位縮進線(或突出的線條和按在工具欄上的「代碼樣本」按鈕{{}')以正確格式化 –
如果您在value1和value2中使用其他數字,它可以更好地說明您的目標。當一切都是一個或一個零時,就不容易辨別你想要達到的目標。 – WarrenT
我認爲1和0會是最清楚的,我應該使用什麼,也許一些複雜的數字? – sage6