17.12.2018, 23:54 [+3 UTC]
в нашей команде: 3 242 чел. | участники онлайн: 6 (рекорд: 19)

:: РЕГИСТРАЦИЯ

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.58 (11.12.2018)

Общие новости:
13.12.2018, 11:36

Форум:
17.12.2018, 14:43

Последний вопрос:
17.12.2018, 23:09

Последний ответ:
17.12.2018, 19:25

Последняя рассылка:
17.12.2018, 23:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
13.11.2010, 18:45 »
Посетитель - 342817
...все "по полкам"! Серкузу отблагодарю от души. [вопрос № 180719, ответ № 264001]
26.12.2016, 17:25 »
svrvsvrv
Благодарю за консультацию. [вопрос № 190358, ответ № 274477]
07.10.2009, 14:16 »
Анна Зорина
Просто великолепно! Спасибо большое!!! [вопрос № 173006, ответ № 255117]

РАЗДЕЛ • Pascal / Delphi / Lazarus

Создание программ на языках Pascal, Delphi и Lazarus.

[администратор рассылки: Зенченко Константин Николаевич (Старший модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 828
puporev
Статус: 1-й класс
Рейтинг: 82
Степанов Иван /REDDS
Статус: 4-й класс
Рейтинг: 26

Перейти к консультации №:
 

Консультация онлайн # 67931
Раздел: • Pascal / Delphi / Lazarus
Автор вопроса: Vitaly
Отправлена: 21.12.2006, 03:39
Поступило ответов: 1

Господа эксперты!
Помогите составить SQL-запрос.

Имеются две таблицы - клиенты и и х личные дела (кейсы)

CLIENTS
===============
ClID NAME
===============
1 Вася
2 Петя
3 Шура
4 Люся

CASES
==================================
CsID ClID CsNum CsDat Active
==================================
1 1 54 12.05.06 False
2 1 98 01.08.06 True
3 3 18 13.01.05 True
4 4 105 18.11.06 False

У клиента может быть один или несколько кейсов, может и не быть ни одного.
Если кейсов несколько, только один из нх может быть активным.
Запрос должен выдать полный список клиентов (без повторов) с их активными
кейсами, если такие есть:

==========================================
Name ClID CsNum CsDat
==========================================
Вася 1 98 01.08.06
Петя 2 Null Null
Шура 3 18 13.01.05
Люся 4 Null Null
Спасибо.

Vitaly Grobshtein

Состояние: Консультация закрыта

Ответ # 132781 от Синельников Сергей

Здравствуйте, Vitaly!

Если допустить, что у одного клиента не может быть двух Active=True только потому, что этого не может быть никогда :), то запрос будет такой:

SELECT * FROM CLIENTS A LEFT OUTER JOIN CASES B ON (A.CLID=B.CLID AND ACTIVE='TRUE') или

SELECT * FROM CLIENTS A LEFT OUTER JOIN CASES B ON (A.CLID=B.CLID AND ACTIVE) или

SELECT * FROM CLIENTS A LEFT OUTER JOIN CASES B ON (A.CLID=B.CLID AND ACTIVE=TRUE)

все зависит от Вашей СУБД.


Консультировал: Синельников Сергей
Дата отправки: 21.12.2006, 06:20

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.16033 сек.

© 2001-2018, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.58 от 11.12.2018