Select Max Time and Max Date from table where time and date are in separate columns

Thank you for looking at my question,

I have a table, Table X, of transactions orderer by date and time. I want to select the most recent transaction.

The transaction date (TransDate) is the date only eg 15/03/2012

The transaction time (TransTime) shows date and time in the format 01/01/1900 12:43:29

Currently I obtain the most recent transaction by first querying Table X for Max(TransDate)

I use a second query to get the latest time for the most recent date

SELECT Max(TransTime) FROM qryTableX_MaxDate INNER JOIN TableX ON qryTableX_MaxDate.MaxOfTRAN_DATE = TableX.TransDate
GROUP BY qryTableX_MaxDate.MaxOfTransDate

How do I do this in one query?
Gary CroxfordOperations Support AnalystAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

armchair_scouseCommented:
Could you join the two fields together, e.g. take the TransDate and add the last 8 chars of TransTime, and then do a max on that? For example:

TransDate 15/03/2012
TransTime 01/01/1900 12:43:29

CombinedDate: CDate(TransDate & " " & Right(TransTime, 8))

and then do a Max on CombinedDate?
0
CluskittCommented:
I'm not sure I understand your question correctly, but maybe something like this:
SELECT Max(TransTime) FROM qryTableX_MaxDate WHERE qryTableX_MaxDate.MaxOfTRAN_DATE = (SELECT MAX(TransDate) FROM TableX)
0
Gary CroxfordOperations Support AnalystAuthor Commented:
>Cluskitt,
Thanks for responding,

To try and clarify it, I want to get the most recent date and time from TableX where the date and time are in separate columns.

I tried a single query to select max(Date) and Max(Time) from TableX this gave me the maximum date value and the maximum time value but these aren't related to each other.

I need the max(Time) of max(Date) in TableX which I currently get using two queries and am asking can it be achieved using only one.
0
10 Tips to Protect Your Business from Ransomware

Did you know that ransomware is the most widespread, destructive malware in the world today? It accounts for 39% of all security breaches, with ransomware gangsters projected to make $11.5B in profits from online extortion by 2019.

CluskittCommented:
I see. What you want is:
SELECT MAX(Time) FROM TableX WHERE Date=(SELET MAX(Date) FROM TableX)
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
armchair_scouseCommented:
Crxfrd,

Did you try my idea?  I mocked up a table with separate date and time fields and tried it out to see if it would do the job, it seemed to do the trick, though I appreciate it is somewhat inelegant :o)

Update: Since posting this, I've just seen Mcluskitt's post, that looks a better option.  When you said do it in one query, I presumed you meant one select statement (i.e. no subqueries), hence my suggestion.
0
Gary CroxfordOperations Support AnalystAuthor Commented:
THank you
0
Gustav BrockCIOCommented:
You could simply do:

SELECT TOP 1
  TransDate,
  TransTime
FROM
  TableX
ORDER BY
  TransDate DESC,
  TransTime DESC;

Or for a combined date/time:

SELECT TOP 1
  TransDate + DateAdd("d", -2, TransTime) As TransDateTime
FROM
  TableX
ORDER BY
  TransDate DESC,
  TransTime DESC;

/gustav
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.