2014-01-29 3 views
0

Используя этот запросMySQL получить остальную часть значений

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 

я получаю только значение идентификатора. Но я хочу получить остальные значения с отдельным идентификатором. Не думайте о остальной части кодов. Проблема здесь, если я использую:

select *, job_primary.id as id 

Чтобы выбрать код, я получу все данные. Но это не отличается. Так что, если я использовал

SELECT *, distinct(job_primary.id) as id 

или

SELECT distinct(job_primary.id), * as id 

но он показывает ошибки.

+3

'но он показывает ошибки.' ** Какие ошибки? ** –

+0

Для будущего кода: вам не нужно указывать/возвращать столбец и таблицу имена. Они только добавляют визуальный беспорядок и представляют собой еще один способ сделать синтаксические ошибки. Единственная причина, по которой вы в них нуждаетесь, - это если у вас есть имя, которое является зарезервированным словом, или у вас есть встроенные пробелы или знаки препинания, и это ужасные методы, которые следует избегать в любом случае. –

ответ

1

Я думаю, что ваше собеседство - это то, что нужно запросить, nixon1333. Что вы хотите запросить в базе данных? Если вы хотите только одну строку на один идентификатор, group'em от SELECT * FROM ... GROUP BY job_primary.id

+0

спасибо. :) Это сработало как шарм – nixon1333

Смежные вопросы