Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > Как лучше сделать select данных


Автор: DenWPF 21.9.2010, 14:07
есть запрос:

Код

SELECT Person.id, CONCAT( Person.lastname, ' ', Person.name, ' ', Person.surname ) AS name_PersonFrom
                    FROM Client, Person
                    WHERE Client.id_Person = Person.id


он достает список имен. 

есть таблица Messages в ней есть поле Person.id = to_id и есть поле receive_date - если оно null то надо вернуть +1

я делаю как бы общение в личке:

Вася(5)
Дима
Кирил (1) 

это значит у Васи 5 не прочитанных , а у Кирила 1. т.е у Васи 5 полей receive_date с null.


как это лучше сделать в начале прибиндить первый запрос(все имена) потом через Converter (это в wpf) забрать сколько не прочитано.
или лучше это как то все в первом запросе сделать?

Автор: Zloxa 21.9.2010, 14:14
Код

SELECT Person.id, CONCAT( Person.lastname, ' ', Person.name, ' ', Person.surname ) AS name_PersonFrom
   ,nullif((select count(*) from Messages m where m.to_id = Person.id and m.receive_date  is null),0) msg_cnt
FROM Client, Person
WHERE Client.id_Person = Person.id

Автор: DenWPF 21.9.2010, 14:24
ну откуда вы такие умные =(((

огромное спасибо... smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)