我已經使用levenshtein距離和比率源代碼創建了mysql用戶函數。我正在比較2條記錄,並基於75%的匹配我想選擇記錄。使用levenshtein距離比來比較2條記錄
- 訂單進入表
paypal_ipn_orders
與ITEM
標題 - 查詢執行對錶
itemkey
找到一個創紀錄的75%的比賽稱爲ITEM
以及 - ,如果75%的標題爲符合其分配一個八位數字從表
itemkey
表paypal_ipn_orders
下面是該查詢
UPDATE paypal_ipn_orders
SET sort_num = (SELECT sort_id
FROM itemkey
WHERE levenshtein_ratio(itemkey.item, paypal_ipn_orders.item_name) > 75)
WHERE packing_slip_printed = 0
AND LOWER(payment_status) = 'completed'
AND address_name <> ''
AND shipping < 100
我已經調整了幾次,但它在levenshtein_ratio部分的第4行和第5行之間失敗。如果它工作,它說,子查詢返回多行。我不知道如何解決它,使其返回正確的結果,我只是失去了如何使這項工作。
您顯示的查詢代碼中有兩個「WHERE」項。第二個應該是「AND」嗎? – 2012-08-06 21:51:50
這是一個子查詢,所以它不需要是AND – user1542036 2012-08-07 00:04:39