比較我有一個名爲feature
表作爲SQL查詢字符串轉換爲數組,然後用一些條件
sample_value operator_seq actual_value
ID:Desktop|Height:627|Width:768 =,>,> ID:Desktop|Height:600|Width:1024
ID:Desktop|Height:627|Width:768 =,>,> ID:Desktop|Height:600|Width:600
sample_value
和actual_value
如果我們分裂基於|
分隔符爲三個子字符串。如果我們根據,
定界符分割運算符,我們也有三個運算符。
現在我想的sample_value
第一子串比較的actual_value
第一子串用第一運營商的sample_value
與actual_value
第二子串第二子字符串中使用第二運營商等等...
基本上該查詢將看起來像
if (
(sample_value.fisrt_substr operator_seq.first_operator actual_value.first_substr) and
(sample_value.second_substr operator_seq.second_operator actual_value.second_substr) and
(sample_value.third_substr operator_seq.third_operator actual_value.third_substr)
) Then 1 else 0
所以用於第一行的輸出將是0(因爲條件(寬度:768>寬度:1024)爲假)和第二行輸出將爲1(所有三個條件滿足)。
輸出表如下所示:
sample_value operator_seq actual_value result
ID:Desktop|Height:627|Width:768 =,>,> ID:Desktop|Height:600|Width:1024 0
ID:Desktop|Height:627|Width:768 =,>,> ID:Desktop|Height:600|Width:600 1
如何編寫該查詢。
[評估條件](http://pastebin.com/896FJfKA)老實說它是 「玩票」解決方案,如果你仍然想使用純SQL來完成。它適用於您的示例數據,但看起來很醜並且有一些限制(例如關於參數的類型)。我的建議是創建存儲的函數來計算條件。 – Abelisto
感謝您的回覆。但是我對存儲過程瞭解不多。這很緊急。所以請儘可能請你提出相同的查詢。再次感謝。 –
正如許多次所說:「它不是一個代碼寫作網站」。如果你不太瞭解存儲過程,那麼,至少目前這個任務可能不適合你。 – Abelisto