$sQuery = '
SELECT DISTINCT SQL_CALC_FOUND_ROWS IF( `Profiles`.`Couple`=0,
`Profiles`.`ID`, IF( `Profiles`.`Couple`>`Profiles`.`ID`, `Profiles`.`ID`,
`Profiles`.`Couple` ) ) AS `ID` FROM `Profiles`';
$sCountries = implode("','", $mValue);
$sJoin .= " LEFT JOIN `hm_locations` ON (`hm_locations`.`country` IN '".$sCountries."'
AND `hm_locations`.`profileID` = `Profiles`.`ID`) ";
这个查询收集了不同的函数,然后与另一个函数放在一起,但我基本上想知道如何重新编写LEFT JOIN部分才能正常工作。
我正在尝试在此处添加我自己的左连接,以便搜索将从hm_locations中获取ID,其中国家/地区与搜索匹配。
我只想要LEFT JOIN部分的帮助,因为这是唯一不起作用的部分。
非常感谢
答案 0 :(得分:2)
您需要将国家/地区置于括号中:
"... `hm_locations`.`country` IN ('".$sCountries."') ..."
答案 1 :(得分:0)
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
除了基于表中的值的“=”子句之外,我没有看到任何允许的内容,在你的个人资料和hm_locations中。带有“AND”的“IN”子句不是LEFT JOIN语法的一部分。