У меня две таблицы в моей базе данных, где первая имеет связанные значения второго. Именно так:
стол "люди"
ID | NAME | SCHOOL
-------------------------
1 | john | 2
2 | fred | 1
3 | maria | 3
столовая "школа"
ID | NAME
-------------------------
1 | first school
2 | second school
3 | third school
Хорошо. Я пытаюсь сделать выбор в таблице "people" и заменить номер "SCHOOL" на идентификатор таблицы "school".
Поэтому я сделал это:
"SELECT * FROM people A LEFT JOIN school B ON A.school = B.id"
Это нормально!
Но если мне нужно получить значение идентификатора "people" в этом возврате, оно будет заменено значком таблицы "школа".
Как я могу это решить?
Большое спасибо!
Если вы изучаете SQL, научитесь перечислять все нужные столбцы. Явное:
SELECT p.id, p.name, s.name as school_name
FROM
people p LEFT JOIN
school s
ON p.school = s.id;
Заметки:
LEFT JOIN
здесь действительно не нужна, но вы используете его.s.name
может быть псевдонимом (s.name as school_name
), чтобы отличить его от имени человека.