У меня есть страница, и у этой страницы есть владелец.
Я бы хотел выбрать участников этой страницы.
Проблема в том, , если , то этовладелец страницы, который вошел в систему (как создал страницу) Я хотел бы показать сначала ( и только для него ) участников с блоком = 1 для авторизации объединения.
Итак, у меня есть:
CREATE TABLE `page` (
`id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`user` INT(11) UNSIGNED NOT NULL, // who created the page.
`title` varchar(40),
`privado` tinyint(1) NOT NULL DEFAULT '0',
)
и page_members (которые присоединяются к странице):
CREATE TABLE IF NOT EXISTS `page_members` (
`id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`user` INT(11) UNSIGNED NOT NULL, // who is joining
`member` INT(11) UNSIGNED NOT NULL, // page id
`block` tinyint(1) NOT NULL DEFAULT '0', // block 1 = need autorization
FOREIGN KEY (`member`) REFERENCES page (`id`)
)
Предположим, у меня есть страница, созданная пользователем 1, и в ней есть участники.Я хотел бы выбрать first членов с block = 1, если вошел в систему владелец страницы (таблица страниц, пользователь).если это не владелец страницы, я бы хотел выбрать только участников с блоком = 0.
Поэтому я попытался:
select p.user, p.title, pm.user, pm.block from page_members pm
left join page p on pm.member = p.id
where pm.member = 100 // show members from page 100
.
and p.user = 1 // from here I'm not sure what to do,
I'd like to select and show first the members with block = 1
but only if p.user = 1 (the page owner).
Например, если p.user = 2, он не является владельцем страницы, поэтому не показывать участников с блоком 1, только с блоком 0.
есть идеи?