使用此查询
SELECT DISTINCT(job_primary.id) AS id
FROM `job_primary`
LEFT JOIN `job_skill` ON `job_skill`.`job_id` = `job_primary`.`id`
LEFT JOIN `job_facts` ON `job_facts`.`job_id` = `job_primary`.`id`
LEFT JOIN `job_location` ON `job_location`.`job_id` = `job_primary`.`id`
LEFT JOIN `job_people` ON `job_people`.`job_id` = `job_primary`.`id`
LEFT JOIN `job_sec` ON `job_sec`.`job_id` = `job_primary`.`id`
AND job_sec.exp_start_date > UNIX_TIMESTAMP()
INNER JOIN `user_skills` ON `user_skills`.`skill_id` = `job_skill`.`skill_id`
AND user_skills.user_id = 1
WHERE job_primary.posted_by != 1
我只得到 id 值。但我想获得具有不同 id 的其余值。不要考虑其余的代码。问题就在这里,如果我使用:
select *, job_primary.id as id
选择代码然后我获取所有数据。但它并不明显。所以如果我使用
SELECT *, distinct(job_primary.id) as id
或
SELECT distinct(job_primary.id), * as id
但它显示错误。
最佳答案
我认为您的困惑在于查询本身的内容,nixon1333。您想向数据库询问什么?如果您只想每个 id 一行,请使用 SELECT * FROM ... GROUP BY job_primary.id
关于MySQL 获取其余值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21432113/