Выберите отличное поле при соединении в MySQL - PullRequest
0 голосов
/ 19 января 2011

Я объединяю две большие таблицы в MySQL на основе уникального идентификатора, который они оба используют. Поскольку имеется большое количество полей, я не хочу перечислять все поля после SELECT. Вместо этого я хочу выбрать все поля, но не хочу, чтобы повторяющиеся поля (в данном случае общий уникальный идентификатор) повторялись.

С этим примером запроса:

SELECT *
FROM Gr3_PracMath_Jan11_D1 as a, student_list_011811 as b 
WHERE a.StudentID = b.StudentID

Поле StudentID повторяется. Есть ли способ предотвратить это?

Спасибо за вашу помощь.

Ответы [ 3 ]

0 голосов
/ 19 января 2011

Я считаю, что если вы сделаете явное объединение с ключевым словом USING, вы не получите дубликат.

SELECT *
FROM Gr3_PracMath_Jan11_D1
LEFT JOIN student_list_011811 
USING (StudentID)
0 голосов
/ 19 января 2011

Это плохая практика - не перечислять все столбцы, даже если их много. Просто прикуси пулю и выпиши их.

0 голосов
/ 19 января 2011

Я не думаю, что есть. Вы можете сократить свою работу, перечислив только половину полей:

SELECT a.*, b.Field1, b.Field2...
...