Majac dwie tabele:
a)
CREATE TABLE `uczniowie` ( `user_id` tinyint(10) UNSIGNED NOT NULL AUTO_INCREMENT, `user_name` varchar(13) NOT NULL, `user_password` varchar(40) NOT NULL, PRIMARY KEY (`user_id`) )

CREATE TABLE `nauczyciele` ( `user_id` tinyint(10) UNSIGNED NOT NULL AUTO_INCREMENT, `user_name` varchar(13) NOT NULL, `user_password` varchar(40) NOT NULL, `user_stanowisko` varchar(13) NOT NULL, `user_staz` int(13) NOT NULL, `user_pensja` float(13) NOT NULL, `user_stawka` float(13) NOT NULL, `user_wiek` int(13) NOT NULL, PRIMARY KEY (`user_id`) )
... chcialbym wykonac zapytanie przy logowaniu na stronie php, ktore sprawdzi do jakiej tabeli przynalezy dany uzytkownik. Oczywiscie uzytkownik X nie moze nalezec do jednej i drugiej tabeli.
INSERT INTO `uczniowie` (`user_id`, `user_name`, `user_password`) VALUES ('1','testtest','12345678');
INSERT INTO `nauczyciele` (`user_id`, `user_name`, `user_password`,`user_stanowisko`,`user_staz`,`user_pensja`,`user_stawka`,`user_wiek`) VALUES ('1','testtest','12345678','Matematyk','3','1200','50','40');
Moje zapytanie:
SELECT user_name FROM uczniowie WHERE user_name = 'testtest' AND user_password= '12345678' UNION SELECT user_name FROM nauczyciele WHERE user_name = 'xxxx' AND user_password= 'xxxxxx' ;
Powyzsze zapytanie dziala poprawnie. Ale potrzebuje to zliczyc przy pomocy funkcji count(*), wiec:
SELECT count(*) FROM ( SELECT user_name FROM uczniowie WHERE user_name = 'testtest' AND user_password= '12345678' UNION SELECT user_name FROM nauczyciele WHERE user_name = 'xxxx' AND user_password= 'xxxxxx' );
Nie dziala juz. Czy macie jakies propozycje jak zastosowac counta aby zapytanie dzialalo poprawnie?