Как проверить, существует ли отличное значение (true / false) из заданных нескольких записей в T-sql - PullRequest
0 голосов
/ 24 марта 2012

У меня есть таблица с различными столбцами, как показано ниже

 Ref Number Service Numbers Service type code   OpenDate    CurrentAppointDt    PreviousAppointDt   Time_Stamp  Lettert_created
78892   485992  78892TA 02/16/12    04/17/12    03/21/12    2/17/12 9:00 AM FALSE
78892   485992  78892TA 02/16/12    04/17/12    03/21/12    3/19/12 9:29 AM FALSE
78892   485992  78892TA 02/16/12    04/17/12    03/21/12    3/19/12 9:30 AM TRUE
78892   485992  78892TA 02/16/12    04/17/12    03/21/12    3/8/12 11:32 AM FALSE
78892   485992  78892TA 02/16/12    04/17/12    03/21/12    3/20/12 9:59 AM FALSE
94329   140055  94329   03/21/07    04/20/07    04/02/07    2/1/12 9:41 AM  FALSE
94329   140055  94329   03/21/07    04/20/07    04/02/07    3/21/07 10:00 AM    FALSE
94329   140055  94329   03/21/07    04/20/07    04/02/07    3/21/07 10:09 AM    FALSE
94329   140055  94329   03/21/07    04/20/07    04/02/07    3/22/07 11:21 AM    FALSE
94329   140055  94329   03/21/07    04/20/07    04/02/07    3/27/07 9:01 AM FALSE
94329   140055  94329   03/21/07    04/20/07    04/02/07    3/27/07 12:19 PM    FALSE
94329   140055  94329   03/21/07    04/20/07    04/02/07    12/2/11 12:55 PM    FALSE
107126  478952  107126TA    02/06/12    03/28/12    02/28/12    3/16/12 4:52 PM FALSE
107126  478952  107126TA    02/06/12    03/28/12    02/28/12    3/16/12 5:33 PM TRUE
107126  478952  107126TA    02/06/12    03/28/12    02/28/12    3/16/12 11:58 AM    FALSE
107126  478952  107126TA    02/06/12    03/28/12    02/28/12    3/14/12 2:09 PM FALSE
107126  478952  107126TA    02/06/12    03/28/12    02/28/12    2/24/12 2:00 PM FALSE
107126  478952  107126TA    02/06/12    03/28/12    02/28/12    2/24/12 12:15 PM    FALSE
107126  478952  107126TA    02/06/12    03/28/12    02/28/12    2/24/12 12:15 PM    FALSE

Если я беру различные значения для вышеуказанного номера ссылки, я получаю следующее

78892                       
94329                       
107126  

Отметка времени всегдамежду CurrentAppointDT и PreviousAppointDt.
Для этих RefNumbers мне нужно посмотреть, является ли 'Lettercreated' False / true.
Мне нужен следующий вывод:

Ref Number  Service Numbers Service type code   OpenDate    CurrentAppointDt    PreviousAppointDt   Lettert_created
78892   485992  78892TA 02/16/12    04/17/12    03/21/12    TRUE
94329   140055  94329   03/21/07    04/20/07    04/02/07    FALSE
107126  478952  107126TA    02/06/12    03/28/12    02/28/12    TRUE

Пожалуйста, помогите мне, если смогуполучить скрипт T-sql в 1 операторе выбора.Это большая помощь, если кто-нибудь может дать мне решение.Спасибо.

1 Ответ

1 голос
/ 24 марта 2012

Похоже, вы просто ищете случай, когда для ссылочного номера любая запись установлена ​​на «True», в противном случае укажите его как «False». Если это так, попробуйте это:

select Ref_Number, Service_Numbers, Service_type_code, OpenDate, CurrentAppointDt, PreviousAppointDt,
  case max(case when Lettert_created='True' then 1 else 0 end)
    when 1 then 'True'
    else 'False'
  end
from tbl
where time_stamp between CurrentAppointDT and PreviousAppointDt
group by Ref_Number, Service_Numbers, Service_type_code, OpenDate, CurrentAppointDt, PreviousAppointDt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...