Как я могу выразить этот запрос таким образом, чтобы он работал на данных Excel? - PullRequest
0 голосов
/ 16 сентября 2009

У меня есть этот последний запрос (я пробовал много из них, чтобы сделать эту работу), который я не могу запустить.

 SELECT customerNo, rating, dateApproved
 FROM ['worksheet$']
 WHERE dateCreated = (SELECT MAX(dateCreated) FROM ['worksheet$'] )
 AND status = 'Approved'"

Для customerNo 0001 есть две или, может быть, больше строк, и я хочу получить строку, где dateApproved является максимумом для этого customerNo.

Как мне этого добиться? Это вызывает у меня сильную головную боль. Уже спросил несколько друзей, а также гуглил, соответствующих ответов не найдено.

спасибо заранее

1 Ответ

1 голос
/ 16 сентября 2009

В подзапросе «SELECT MAX (...») будет возвращена максимальная дата, созданная для ВСЕГО листа, а не только для конкретного клиента, которого вы волнуете.

Я не уверен, что Excel будет поддерживать этот синтаксис, но в обычной базе данных я бы предложил этот запрос, чтобы получить то, что вы хотите:

 SELECT customerNo, rating, dateApproved
 FROM ['worksheet$'] wkOuter
 WHERE status = 'Approved'
   and dateCreated = (
   SELECT MAX(dateCreated)
   FROM ['worksheet$'] wkInner
   WHERE wkInner.customerNo = wkOuter.customerNo
   )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...