Я пытаюсь написать оператор выбора, чтобы получить строки с именами и статусом только для определенного TID с самым последним dateendedSQL: группа по п с агрегатной функцией
схема таблицы выглядит
ID int
Name varchar(100)
TID int
DateStarted datetime
DateEnded datetime
Status int
TestQueueTable varchar(50)
TQDID int
ResultsFile varchar(255)
TextResultsFile varchar(255)
Когда я пишу выбрать
select name,status,max(dateended)
from testcasedata
where tid='87946'
group by name,status
строки, извлекаемые как ниже
name status max(dateended)
=====================================================================
IntegrationPlumbingTest 2 2013-09-19 09:24:30.000
LCEventLogger 2 2013-09-19 09:23:52.000
NonReferralGQ_1 2 2013-09-19 09:23:06.000
NonReferralGQ_2 2 2013-09-19 09:22:48.000
ApplyToJobFromTGAndVerifyFrom_A 3 2013-09-20 02:17:54.000
PostReqAndVerifyFrom_A 3 2013-09-20 01:47:33.000
PostReqAndVerifyFrom_B 3 2013-09-20 02:04:09.000
Verify_UploadResume 3 2013-09-19 12:21:49.000
ApplyToJobFromAndVerifyFrom_B 2 2013-09-19 03:24:67.000
ApplyToJobFromAndVerifyFrom_B 3 2013-09-20 02:23:05.000
Здесь я на самом деле отображать только уникальное имя и статус, где, если статус для имени содержит 2 он должен должен показывать только эту строку в противном случае он должен отображать имя и статус группы по max(dateended)
даже последний две записи
ApplyToJobFromAndVerifyFrom_B 2 2013-09-19 03:24:67.000
ApplyToJobFromAndVerifyFrom_B 3 2013-09-20 02:23:05.000
также следует сгруппировать в один с последней датой.
наконец из таблицы я хочу имя, статус, dateended записи без каких-либо повторений с MaxDate
Пожалуйста, вы можете сказать мне, как поступить ..
Я не уверен, что вы имеете в виду. Можете ли вы изменить свой вопрос, чтобы включить то, что вы хотите получить, чтобы мы могли видеть, как он отличается от вашей текущей попытки? – IMSoP
* «... если статус для имени содержит 2, он должен отображать только эту строку ..» * Похоже, именно это и происходит сейчас. * "... в противном случае он должен отображать имя и группу статусов с помощью max (dateended) ..." * И похоже, что это именно то, что он делает сейчас. –
Это правильно? «Если если имя не имеет статуса 2, его последняя запись должна быть отображена, в противном случае вместо нее будет отображаться запись состояния 2». Если да, то что, если есть два или более статуса 2 записи на имя? Должны ли результаты быть все или только один (за имя)? Если один, то какой? –