Выберите только одну запись для каждого матча - PullRequest
1 голос
/ 04 декабря 2010

Давайте посмотрим, смогу ли я объяснить это правильно.

Я (к сожалению) использую Access.

У меня есть такая таблица:

Date       |  ResID  |  Med    |  time   |  emar  |
___________+_________+_________+_________+________|
11/18/2010 |      72 | Aspirin | 8:00 AM | 427    |
11/19/2010 |      72 | Aspirin | 8:00 AM | 427    |
11/20/2010 |      72 | Aspirin | 8:00 AM | 427    |
11/18/2010 |      72 | Aspirin | 2:00 PM | 427    |
11/19/2010 |      72 | Aspirin | 2:00 PM | 427    |
11/20/2010 |      72 | Aspirin | 2:00 PM | 427    |
11/18/2010 |      73 | Aspirin | 7:00 AM | 428    |
11/19/2010 |      73 | Aspirin | 7:00 AM | 428    |

...etc

Я знаюэто может быть настроено намного лучше, но, к сожалению, это все, с чем я могу работать.

Как я могу сделать запрос к этой базе данных, чтобы она возвращала только одну строку для каждого соответствующего набора ResID, Med, Timeа эмар?Таким образом, результат, который я ищу из этого примера, будет:

Date       |  ResID  |  Med    |  time   |  emar  |
___________+_________+_________+_________+________|
11/18/2010 |      72 | Aspirin | 8:00 AM | 427    |
11/18/2010 |      72 | Aspirin | 2:00 PM | 427    |
11/18/2010 |      73 | Aspirin | 7:00 AM | 428    |

Дата не имеет значения, за исключением того, что она должна быть в указанном диапазоне: от date_min до date_max.Это в ColdFusion, если это имеет значение.

Ответы [ 2 ]

2 голосов
/ 04 декабря 2010
SELECT MIN(Date) AS Date, ResID, Med, time, emar
from YourTable
WHERE Date > date_min and Date < date_max /*Might need >= and <= if inclusive*/
GROUP BY  ResID, Med, time, emar
0 голосов
/ 04 декабря 2010

Вы должны написать что-то вроде:

Select * from TABLENAME where date>date('xxxx-xx-xx') and date<('xxxx-xx-xx')

, где написано «xxxx-xx-xx», вы должны написать что-то вроде 2010-11-30

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...