1

Пытается показывать только уникальные данные из одного столбца (train_id) и ограничивать дату до сегодняшнего дня, но, похоже, не может заставить его работать.Visual Web Developer + SQL, чтобы показывать только уникальные строки

Пробовал Group by и SELECT DISTINCT, но не могу показаться, чтобы получить Visual Web Dev, чтобы принять его ... Подробности ниже:

Использование SQL Server 2008 и визуальных веб-Dev 2010 Express, и подключение через SqlDataSource ... мой код, как следующим образом:

SELECT train_id, 
     path, 
     dep, 
     origin, 
     arr, 
     tsc, 
     depot_code, 
     diag_no FROM train_summary 
     WHERE (
       date BETWEEN CAST(GETDATE() AS date) 
        AND CAST(DATEADD(d, 1, GETDATE()) AS date) 
      ) 
     ORDER BY arr 

Этот код работает, но я каждый ряд идет с между 2-8 одинаковыми строками данных, которые изменяющимися данными в 2-колоннах, не имеют значения в этом time..so я бы устранить дублирующие on 'train_id'

Любые идеи? Я просто изучаю, поэтому я занимаюсь поиском по большей части, но мои ограниченные знания действительно не помогают в формулировке, так что извините, если это просто.

+0

Удалите 2 колонки, которые имеют разные данные, если это does't дело в момент, а затем «Distinct» должен дать вам желаемый результат. – Deepshikha

+0

Это будет работать, но я все еще хочу показать другие 2 столбца, поскольку данные важны для отображения, но я хочу сортировать/группировать/различать, чтобы основывать свои действия только на одном столбце (train_id) – JamieB

ответ

2

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

 SELECT 
     train_id 
     , path, dep 
     , origin 
     , arr 
     , tsc 
     , depot_code 
     , diag_no 
     FROM train_summary 
     WHERE (date BETWEEN CAST(GETDATE() AS date) AND CAST(DATEADD(d, 1, GETDATE()) AS date)) 
     GROUP BY 
     train_id 
     , path, dep 
     , origin 
     , arr 
     , tsc 
     , depot_code 
     , diag_no 
     ORDER BY arr 
+0

Это сработало, но я все еще хочу показать некоторые данные, которые время от времени меняются, поэтому в настоящее время, если какой-либо из вышеупомянутых столбцов имеет разные данные, вся строка сохраняется ... Я хочу, чтобы она игнорировала эту и только группу по train_id, но когда я делаю это Я получаю сообщение об ошибке. – JamieB

+0

Непонятно, что вы пытаетесь архивировать ... Если вы хотите игнорировать разные данные, вы должны исключить его из списка результатов. Например: если вы хотите игнорировать разные данные в 'origin' и 'arr', не записывайте эти столбцы в блок SELECT и GROUP BY. – iris

+0

Все вариации строк данных? если нет, то вам нужно либо исключить число, либо суммировать их. –