2017-09-06 77 views
0

這是我正在使用的mysql查詢。如何使用Like運算符在Mysql中顯示重複值?

SELECT distinct Emprego.title as title, Emprego.up as up, Emprego.datetime as datetime, Emprego.content as content, Category.name as category_name, Emprego.states as states, Emprego.id as id, User.nome as nome, Emprego.email as email FROM City, User , Category, Emprego, Type 
    where 
    Emprego.category_id=Category.id and Emprego.City_id=City.id and Emprego.type_id=Type.id and Type.id='$type' 
    and (Emprego.title LIKE '%$text%') or (Emprego.content like '%$text%') and Emprego.User_id= User.id 
    order by datetime DESC 

我正在使用此查詢獲取重複行。

如何解決?

這是結果:

[ 
    { 
     "title": "Cozinheiro Madeira", 
     "up": "1", 
     "datetime": "2017-09-05 23:41:48", 
     "content": "Cozinheiro na \nMadeira", 
     "category_name": "Telecomunicações", 
     "states": "2", 
     "id": "12", 
     "nome": "admin", 
     "email": "[email protected]" 
    }, 
    { 
     "title": "Cozinheiro Madeira", 
     "up": "1", 
     "datetime": "2017-09-05 23:41:48", 
     "content": "Cozinheiro na \r\nMadeira", 
     "category_name": "Telecomunicações", 
     "states": "2", 
     "id": "16", 
     "nome": "admin", 
     "email": "[email protected]" 
    } 
] 
+1

你*沒有*獲取重複的行,因爲你有'選擇不同'。請編輯您的問題並顯示您所得到的結果。我們可以解釋他們爲什麼不是duplciates。 –

+0

@GordonLinoff查看結果,看看是否沒有「重複」大聲笑....我看到重複... –

+0

你沒有重複。 「ID」列在每行不同 – nzjoel

回答

0

你可能有,因爲下面的問題:

(Emprego.title LIKE '%$text%') or (Emprego.content = '%$text%') and Emprego.User_id= User.id 

您是不是要找:

(Emprego.title LIKE '%$text%' or Emprego.content = '%$text%') and Emprego.User_id= User.id 
+0

有了這個查詢,我沒有結果...不工作.. –

0

您所查詢的是這麼寫的不好它建議向您展示如何編寫可敬的SQL查詢。 從不JOIN子句中使用逗號。 始終使用正確的,明確的JOIN語法:

SELECT distinct e.title, e.up, e.datetime, e.content, 
     c.name as category_name, e.states, e.id, 
     u.nome as nome, e.email as email 
FROM Category c JOIN 
    Emprego e 
    ON e.category_id = c.id JOIN 
    City ci 
    ON e.city_id = ci.id JOIN 
    User u 
    ON e.User_id = u.id JOIN 
    Type t 
    ON e.type_id = t.id 
WHERE e.title LIKE '%$text%' or e.content = '%$text%' 
ORDER BY e.datetime DESC; 

目前還不清楚是否真的需要SELECT DISTINCT。由於ANDOR運營商的優先權,這也解決了WHERE條款中的問題。

+0

未知的'User.id''在'子句'...不工作 –

+0

@PauloRodrigues。 。 。 'on'子句中沒有'user.id'。 –

+0

大聲笑您創建錯誤,然後解釋明顯.. –