2012-03-07 8 views
0

私はこのコードを動作させることができません。それをどのように変えるか?私は全体の条件の周りに()を追加しようとしましたが、それもそれを修正するように見えません。MySQLチェーンの複数の "Match Against"

SELECT * FROM clients WHERE 
     MATCH(LNAME) AGAINST('aaaa') OR 
     MATCH(FNAME) AGAINST('aaaa') OR 
     MATCH(MAIL) AGAINST('aaaa') OR 
     MATCH(TEL) AGAINST('aaaa') 

答えて

2
SELECT * FROM `clients` WHERE 
     MATCH(`LNAME`) AGAINST('aaaa') OR 
     MATCH(`FNAME`) AGAINST('aaaa') OR 
     MATCH(`MAIL`) AGAINST('aaaa') OR 
     MATCH(`TEL`) AGAINST('aaaa') 

OR

SELECT * FROM `clients` WHERE MATCH(`LNAME`,`FNAME`,`MAIL`,`TEL`) AGAINST('aaaa'); 
+1

ありがとう、これはうまく動作します。しかし、あなたがLNAME、FNAME、...が最低3文字であるときにのみ私がretunを取得する理由を知っていますか?それを調整できますか? – cmplieger

+0

Plsは受け入れて投票します... – Teja

+0

はい、それはORデータを取得中に条件を使用しています... – Teja

0

あなたは1つの文字列に対してそれらのすべてを一致していますか?それらを組み合わせることで、クエリをもっと短くすることができます。 BOOLEAN MODE IN( '$のダトAGAINST

SELECT * FROM `clients` WHERE 
    MATCH(`LNAME`,`FNAME`,`MAIL`,`TEL`) AGAINST('aaaa') 
0

$ srch-> consultar( "SELECT *、MATCH(tecnologia、descriptores、autorTecnologia))(AGAINST ficha WHERE MATCH(tecnologia、descriptores、autorTecnologia)FROM puntuacion AS '$ dato'ブーレーンモードで)> 0.5 "); BOOLEAN MODE IN( '$ののparam')AGAINST

ページネーションの使用

$ SQL = $ obj-> consultas( "SELECT *、MATCH(tecnologia、descriptores)ficha WHERE MATCH(tecnologia、descriptores)FROM puntuacion AS AGAINST($ param 'in BOOLEAN MODE)$ PATUACIONの下限$ initReg、$ TamPagによる$ 0.2の順序;

関連する問題