|
|
|
| С MySQL работал очень мало. Пытаюсь наверстать. Сейчас подкинули работку - не знаю как сделать...
В общем, в инсте есть куча преподов. Есть приложение - вводишь имя препода в строку ввода - выводятся все преподы с таким именем.
Пишу:
SELECT * FROM `prepod` WHERE prepod.fa='$post{search}' or prepod.im='$post{search}' ORDER BY prepod.fa
|
Все пашет. Но возникла необходимость группировать преподов по кафедрам. Список кафедр, ясен пень, хранится в отдельной таблице. Я вот не знаю как быть. Не то отдельно запрос делать и формировать хэш кафедр, но как-то коряво получается... Нельзя ли это сделать одним запросом? Скажем, чтобы в результате получилась таблица, содержащая и данные о преподе и данные о кафедрах? | |
|
|
|
|
|
|
|
для: SHAman
(12.02.2007 в 16:38)
| |
SELECT prepod.*, kafedra.name
FROM prepod JOIN kafedra ON prepod.id_kaf = kafedra.id
WHERE prepod.fa='$post{search}' or prepod.im='$post{search}'
ORDER BY kafedra.name, prepod.fa
|
| |
|
|
|
|
|
|
|
для: Trianon
(12.02.2007 в 16:48)
| | Все усложнилось... оказывается, там есть промежуточная таблица, связывающая препода с кафедрой.
Пишу:
SELECT * FROM `prepod`, `kaf_prp`, `kafedra` WHERE
prepod.fa=$qoute_search
AND
kaf_prp.pr_id=prepod.pr_id
AND
kafedra.kaf_id = kaf_prp.kf_id
OR
prepod.im=$qoute_search
AND
kaf_prp.pr_id=prepod.pr_id
AND
kafedra.kaf_id = kaf_prp.kf_id
ORDER BY kaf_prp.pr_id, prepod.fa, prepod.im
|
Не пашет :(
без
AND
kafedra.kaf_id = kaf_prp.kf_id
работает... | |
|
|
|
|
|
|
|
для: SHAman
(12.02.2007 в 18:04)
| |
SELECT prepod.*, kafedra.name
FROM prepod
JOIN kaf_prp ON kaf_prp.pr_id=prepod.pr_id
JOIN kafedra ON kafedra.kaf_id = kaf_prp.kf_id
WHERE prepod.fa=$qoute_search OR prepod.im=$qoute_search
ORDER BY kafedra.name, prepod.fa, prepod.im
|
| |
|
|
|
|
|
|
|
для: Trianon
(12.02.2007 в 18:12)
| | Спасибо. | |
|
|
|