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?