我有一組數據,它基本上,我需要「乾淨」如何把這個SELECT INTO DELETE
用戶輸入自己喜愛的香水到表單,並在表單上我有自動完成的選擇,以幫助和希望能夠減少對手頭任務非常重要的拼寫錯誤。
例如,以下是我對Paco Rabanne 100萬種產品的數據 - 但是,我希望他們選擇Paco Rabanne 1百萬但我不希望他們有各種乳液,肥皂,除臭劑等等等等這是我感興趣的品牌和香水的選擇。
我有的數據的一個例子如下所示。
Paco Rabanne 1 Million Gift Set
Paco Rabanne 1 Million Deodorant Stick 75ml
Paco Rabanne 1 Million Deodorant
Paco Rabanne 1 Million Eau de Toilette
Paco Rabanne 1 Million Gift Set 50ml
Paco Rabanne 1 Million Shower Gel 150ml
Paco Rabanne 1 Million Eau De Toilette Spray 100ml
Paco Rabanne 1 Million After Shave Lotion 100ml
我有一個查詢其取出某些詞項標題內,並顯示還剩下些什麼
查詢:
select DISTINCT(TRIM(LEFT(title,
IF(LOCATE('Deodorant', title), LOCATE('Deodorant', title) - 1,
IF(LOCATE('Shower', title), LOCATE('Shower', title) - 1,
IF(LOCATE('Refillable', title), LOCATE('Refillable', title) - 1,
IF(LOCATE('Spray', title), LOCATE('Spray', title) - 1,
IF(LOCATE('ml', title), LOCATE('ml', title) - 1,
999
)
)
)
))))) FROM `PRprod_FRAGRANCES`
這基本上從表中選擇,而省略任何重複的符合在標題或淋浴等除臭劑,但我想永久刪除記錄,而不是每次運行此查詢,這是昂貴的,因爲表有超過200,000行
本質上,我想打開查詢,所以它不會顯示我不想要的行,但實際上刪除它們。
除非有另一種方法來解決這個問題嗎?
這是表的定義:
field, type, NULL, Key, Default, Extra
autoc_id, int(11), NO, PRI, , auto_increment
title, varchar(128), YES, , ,
genre, varchar(128), YES, , ,
author, varchar(128), YES, , ,
actors, varchar(256), YES, , ,
artist, varchar(128), YES, , ,
main_category, varchar(128), NO, , ,
dateadded, timestamp, NO, , CURRENT_TIMESTAMP,
最簡單的解決方案是使用'WITH'。例如'有結果(
@BradChristie - 不在MySQL中不是。它不支持WITH/CTE – MatBailie
D'oh。錯誤閱讀並且無法識別MySQL。我的道歉,我正在考慮SQL-Server –