1

我正在搜索多个表。

SELECT DISTINCT cv.id, cv.tJobTitle, cv.tJobTitleAlt, cv.rEmployer, employee.firstName, employee.surname, cv.recentJobTitle, match ( cv.title, cv.recentJobTitle, cv.targetJobTitle, cv.targetJobTitleAlt ) AGAINST ('Desktop' IN BOOLEAN MODE) AS relevance 

FROM cv AS cv, employee AS employee, country AS country 

WHERE cv.showTo=1 AND cv.status=1 AND cv.employeeIDFK = employee.id AND cv.countryISO2FK='GB' 
AND cv.countryISO2FK=country.iso2 
AND match ( cv.title, cv.recentJobTitle, cv.targetJobTitle, cv.targetJobTitleAlt ) AGAINST ('Desktop' IN BOOLEAN MODE ) 
AND cv.salaryType='1' AND cv.salaryMax <=23088 OR cv.salaryMin is NUll 
ORDER BY relevance DESC

我有一个在我的数据库中搜索的价格值,但我也有一个勾选框来说明是否没有设置价格显示该记录。

因此,如果价格字段为空,则仍会显示在结果中。

我已经尝试了上述方法,但它给了我更多的 100 条记录,而我的表只有 2 条记录。

4

1 回答 1

1

假设 country.iso2 是一个独特的领域,我猜你每个员工都有多个简历,反之亦然。

注意:最好避免对 INNER JOIN 使用逗号表示法。此外,这仅适用于您的 field3 真正为空且不为 NULL 的情况。

于 2012-10-09T21:55:21.390 回答