2011-08-30 4 views
0

У меня есть 2 таблицы, tb1 - это пользователи, а tb2 - это статистика.SQL Server CE, соединяющий две таблицы

У меня есть несколько статистики для каждого пользователя, помеченного меткой времени

Я хотел запрос, где я мог бы получить последний стат для каждого пользователя, я попробовал много вещей, но SQL Server CE кажется немного ограниченным .. .

Может ли кто-нибудь дать мне подсказку о том, как его выполнить?

+0

могли бы вы дать нам некоторые поля в tb2? –

+0

что вы пробовали? 'sqlce' ограничен, но получение последней статистики кажется легкой задачей. Может быть, ваш дизайн делает это сложнее? –

+0

tb1.userid, tb1.username, tb2.userid, tb2.deaths, tb2.kills, tb2.headshots, tb2.totalmatches, tb2.lastsync Я хочу представить все данные только с последним статом на пользователя – Killercode

ответ

0

Вам нужно будет создать встроенный просмотр, который дает самую последнюю отметку времени для каждого пользователя и использовать ее для ограничения запроса. Попробуйте что-то вроде ниже:

select tb1.userid, tb1.username, tb2.userid, tb2.deaths, tb2.kills, tb2.headshots, tb2.totalmatches, tb2.lastsync 
    from tb1 
    inner join tb2 on tb1.1userid = tb2.userid 
    inner join (select tb2.userid, max(timestamp) as latest from tb2 group by tb2.userid) x 
    on tb2.timestamp = x.latest 
0

; С CTE AS ( выберите tb1.userid, tb1.username, tb2.userid, tb2.deaths, tb2.kills, tb2.headshots, tb2.totalmatches, ТВ2 .lastsync, ROW_NUMBER() OVER (ORDER BY tb2.timestamp DESC) ряд от ТВ1 Inner присоединиться Tb2 на tb1.1userid = tb2.userid ) SELECT * FROM КТР WHERE строка = 1

Смежные вопросы