







|
MySQL.RU - Webboard
Вернуться
Поиск "свободных" записей (Серж) 17/10/2012 - 06:30:08
Re: Поиск (Akina) 17/10/2012 - 09:10:58
Re: Поиск (Серж) 17/10/2012 - 15:25:03
> Original message text:
> From: Серж - 17/10/2012 - 06:30:08
> Subject:Поиск "свободных" записей
> -----------------
> Есть 2 связанные таблицы.
>
> CREATE TABLE Operations # Таблица операций
> (Id integer not null auto_increment,
> Name char(30) not null, # Наименование операции
> Prev time, # Подготовительное время
> Tech time, # Технологическое время
> Curr time, # Реальное время
> Cost decimal(8, 2), # Стоимость
> primary key (Id))
> ENGINE = InnoDB;
>
> CREATE TABLE PersOp # Рекомендованные операции для сотрудника
> (Id integer not null auto_increment,
> Pers integer not null, # Сотрудник
> Op integer not null, # Операция
> foreign key (Pers) references Personen(Id),
> foreign key (Op) references Operations(Id),
> primary key (Id))
> ENGINE = InnoDB;
>
> Требуется запрос, который вернул бы строки первой таблицы, на которые нет ссылок из второй, содержащих заданный PersOp.Pers, т.е. список операций, не рекомендованных для данного сотрудника.
> Пытался делать так:
>
> SELECT O.Id, O.Name FROM Operations O
> LEFT JOIN PersOp P
> ON P.Op = O.Id
> WHERE NOT(P.Pers = ...)
>
> Результат не правильный.
>
From: Akina - 17/10/2012 - 09:10:58
Subject:Поиск
-----------------
SELECT O.Id, O.Name FROM Operations O
LEFT JOIN PersOp P
ON (P.Op = O.Id AND остальные ограничения для таблицы PersOp)
WHERE P.Op IS NULL AND остальные ограничения для таблицы Operations
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
41786
|
|