我需要从两个表
获取一些条件的记录labels_pred = [1, 1, 0, 0, 2, 2]
所有事情都完美无缺,除了:
SELECT `tbui`.`user_id`, `tbui`.`first_name`,`tbui`.`last_name`,`tbui`.`education_level`,`tbui`.`sex`,`tbui`.`country_of_origin`,`tbui`.`city`,`tbui`.`state`,`tbui`.`country`,`tbui`.`occupation`,`tbui`.`about`,TIMESTAMPDIFF(YEAR,`tbui`.`age`,CURDATE()) as age
FROM `tb_preference_dropdown` as `tbpda`
RIGHT JOIN `tb_user_answers` as `tbua` ON `tbpda`.`question_id` = `tbua`.`question_id`
RIGHT JOIN `tb_preference_questions` as `tbpa` ON `tbpa`.`user_id` = `tbpda`.`user_id`
RIGHT JOIN `tb_user_info` as `tbui` ON `tbui`.`user_id` = `tbua`.`user_id`
WHERE `tbpda`.`user_id` = 113
AND TIMESTAMPDIFF(YEAR,`tbui`.`age`,CURDATE()) >=`tbpa`.`min_age_required` AND TIMESTAMPDIFF(YEAR,`tbui`.`age`,CURDATE()) <= `tbpa`.`max_age_required`
AND `tbui`.`country_of_origin` = `tbpa`.`country_of_origin`
AND `tbua`.`user_id` != 113
AND `tbui`.`sex` != 'Female'
HAVING SUM(IF(tbpda.question_id = 1,IF(tbpda.answer_id !=0,IF(tbua.question_id =tbpda.question_id AND `tbua`.`answer_id` = tbpda.answer_id,tbua.user_id,''),true),'')) > 0
我收到的记录甚至与上述条件不符
答案 0 :(得分:0)
您缺少 GROUP BY 子句,请重新编写查询