CREATE TABLE IF NOT EXISTS `user` ( `id` int(10) NOT NULL AUTO_INCREMENT, `status_id` int(10) DEFAULT NULL, `user_group_id` int(10) DEFAULT NULL, `first_name` varchar(128) DEFAULT NULL, `last_name` varchar(128) DEFAULT NULL, `email` varchar(128) DEFAULT NULL, `password` varchar(40) DEFAULT NULL, `algorithm` varchar(128) DEFAULT NULL, `salt` varchar(128) DEFAULT NULL, `access2plan` int(10) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MEMORY; CREATE TABLE IF NOT EXISTS `user_agency` ( `user_id` int(10) NOT NULL, `agency_id` int(10) NOT NULL, PRIMARY KEY (`user_id`,`agency_id`) ) ENGINE=MEMORY; CREATE TABLE IF NOT EXISTS `user_hidden_advertiser` ( `user_id` int(10) NOT NULL, `advertiser_id` int(10) NOT NULL, PRIMARY KEY (`user_id`,`advertiser_id`) ) ENGINE=MEMORY;
W tabeli user_agency znajdują się relacje który użytkownik ma dostęp do danej agencji, a w user_hidden_advertiser mamy relację do reklamoawców do których mamy dostęp wykluczony.
Potrzebuje wyciągnąć unikalne @ na tej podstawie, a niestety po próbach zawsze mi czegoś brakuje, nie mam pomysłu już na to zapytanie.
Czy może mi ktoś w tym temacie pomóc?
SELECT DISTINCT `u`.`email` AS `email` FROM `user` `u` JOIN `user_agency` `a` ON ((`a`.`user_id` = `u`.`id`)) LEFT JOIN `user_hidden_advertiser` `h` ON (`h`.`user_id` = `u`.`id`) WHERE `a`.`agency_id` = {$agency_id} AND ISNULL(`h`.`advertiser_id`)
Nikt nie ma pomysłu?