2015-12-20 1 views
1

Привет, я получил этот 3-х стол, и я хочу создать единую объединенную таблицу без дубликатов деталей.Присоединиться к 3 столам и не допускать повторяющихся подробностей

User Table 

userLRN userLevel 


user_information Table 
userInfoID userLRN userFirstname userLastname userMiddlename userSex userContactNumber userYearGraduated 


workinfo Table 
workinfoID userLRN workOccupation 

Дизайн:

Таблица пользователя является одной user_information
user_information является для многих workinfo

Я попробовал эту SQL Query:

SELECT userLRN, userFirstname, userLastname, userMiddlename, userSex, 
userContactNumber, userYearGraduated, workOccupation 
From user_information 
INNER JOIN users on user_information.userLRN = users.userLRN 
INNER JOIN workinfo on workinfo.userLRN = user_information.userLRN 
WHERE users.userLevel = users 

и я получил множество имен и идентификатор. Я хочу объединить один и тот же идентификатор и имя с другой работой. Пожалуйста, помогите мне с этим.

Я хочу, чтобы этот вывод: Image Output

+0

первый решить, на каком сервере вы работаете для тегов. Далее подумайте о том, чтобы бросить 'отчетливо 'в качестве второго слова – Drew

ответ

1

на основе ваших SQLFiddle и комментариях ниже, попробуйте: страница руководства

SELECT user_information.userLRN, userFirstname, userLastname, 
group_concat(workOccupation) as workStuff 
From user_information 
INNER JOIN users on user_information.userLRN = users.userLRN 
INNER JOIN workinfo on workinfo.userLRN = user_information.userLRN 
WHERE users.userLevel = 'user' 
group by user_information.userLRN, userFirstname, userLastname; 


+---------+---------------+--------------+-------------------+ 
| userLRN | userFirstname | userLastname | workStuff   | 
+---------+---------------+--------------+-------------------+ 
|  1 | Al   | Go   | Work1,Work2,Work5 | 
|  2 | Megan   | Fox   | Work4    | 
+---------+---------------+--------------+-------------------+ 

MySQL на group_concat

Percona статье The power of MySQL’s GROUP_CONCAT

+0

Похоже на то же @Drew – Alen

+0

Нужно посмотреть данные, которые у вас есть. Sqlfiddle.com – Drew

+0

ok @Drew. Я сделаю один – Alen

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