Znam na sta mislis da mi to polje bude strani kljuc.
Ali mi to ne resava situaciju
Evo primera, pa da vidis sta je problem:
Imam na primer dve tabele:
Code:
CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ime` varchar(20) DEFAULT NULL,
`fakultet_1` int(11) DEFAULT NULL,
`fakultet_2` int(11) DEFAULT NULL,
`fakultet_3` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `fakultet_1` (`fakultet_1`,`fakultet_2`,`fakultet_3`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
CREATE TABLE `fakultet` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`naziv` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
Potreban mi je jedan upit gde cu dobiti sve podatke odjednom, i to sam resio ovako
Code:
SELECT id, ime, (SELECT naziv FROM fakultet WHERE fakultet.id = student.fakultet_1) AS fakultet_1, (SELECT naziv FROM fakultet WHERE fakultet.id = student.fakultet_2) AS fakultet_2, (SELECT naziv FROM fakultet WHERE fakultet.id = student.fakultet_3 AS fakultet_3 FROM student
I tako sam dobio sve vrednosti sa jednim upitom.
Medjutim sada mi treba da odradim pretragu i sortiranje bas po nazivu fakulteta u jednom upitu
Ovako nesto :
Code:
$search = "ETF";
SELECT * FROM student WHERE fakultet_1 IN (SELECT id FROM fakultet WHERE naziv LIKE '%$search%') OR fakultet_2 IN (SELECT id FROM fakultet WHERE naziv LIKE '%$search%') OR fakultet_3 IN (SELECT id FROM fakultet WHERE naziv LIKE '%$search%') ORDER BY fakultet_1;
E sad tu je problem kako da odradim order po nazivu fakulteta? S tim da nekad necu imati uvek pretragu, imacu samo sortiranje bez pretrage
djLapac