簡體   English   中英

MYSQL SELECT 查詢中的 IF 語句

[英]IF Statement in MYSQL SELECT query

如果用戶輸入語言與 url 語言匹配,我正在嘗試添加條件

SELECT DISTINCT *, IF(url_lang = 'en', weight = (weight+1.1)<10, weight = (weight-1.1)<10) as user_language_weight
                      FROM links                
                      WHERE (status='active'
                            AND type='url' 
                            AND MATCH(title,description,keywords) AGAINST('($op_word_1*) | ($op_word_2*) | ($op_word_3*) | ($op_word_4*) | ($op_word_5*) | ($acc_op_word_1) | ($acc_op_word_2) | ($acc_op_word_3) | ($acc_op_word_4) | ($acc_op_word_5)' IN BOOLEAN MODE)
                      GROUP BY host
                      ORDER BY weight DESC

根據上述,如果語句不起作用,我在這里遺漏了一些邏輯。 有人願意糾正或解釋嗎?

謝謝大家的意見。 讓 IF 語句正常工作,例如:

SELECT *, IF(url_lang = 'en', weight +1.1, weight -1.1) AS weight 
                  FROM links                
                  WHERE (status='active'
                        AND type='url' 
                        AND MATCH(title,description,keywords) AGAINST('($op_word_1*) | ($op_word_2*) | ($op_word_3*) | ($op_word_4*) | ($op_word_5*) | ($acc_op_word_1) | ($acc_op_word_2) | ($acc_op_word_3) | ($acc_op_word_4) | ($acc_op_word_5)' IN BOOLEAN MODE)
                  GROUP BY host
                  ORDER BY weight DESC

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM