2016-04-18 3 views
0

У меня есть таблица, где мое значение даты повторяется для каждой строки таблицы. Я попытался исправить эту проблему с SQL внутри моего запроса, но этого не может быть сделано, поэтому я ищу другое решение с Javascript или JQuery, чтобы исправить эту проблему. Поэтому я хотел бы удалить значения даты, если они повторяются, но если значение даты изменилось в моем td, я бы сохранил его. Вот как выглядит таблица:Как удалить значение даты из td, если это то же значение даты?

Date   Time 
10/19/2016 8:00 AM - 8:30 AM  
10/19/2016 8:30 AM - 9:00 AM  
10/19/2016 9:00 AM - 9:30 AM  
10/19/2016 9:30 AM - 10:00 AM  
10/19/2016 10:00 AM - 10:30 AM   
10/19/2016 10:30 AM - 11:00 AM   
10/19/2016 11:00 AM - 11:30 AM   
10/19/2016 11:30 AM - 12:00 PM   
10/19/2016 12:00 PM - 12:30 PM   
10/19/2016 12:30 PM - 1:00 PM  
10/19/2016 1:00 PM - 1:30 PM  
10/19/2016 1:30 PM - 2:00 PM  
10/20/2016 9:00 AM - 9:20 AM  
10/20/2016 9:20 AM - 9:40 AM  
10/20/2016 9:40 AM - 10:00 AM  
10/20/2016 10:00 AM - 10:20 AM   
10/20/2016 10:20 AM - 10:40 AM   
10/20/2016 10:40 AM - 11:00 AM   
10/20/2016 11:00 AM - 11:20 AM   
10/20/2016 11:20 AM - 11:40 AM   
10/20/2016 11:40 AM - 12:00 PM   
10/20/2016 12:00 PM - 12:20 PM   
10/20/2016 12:20 PM - 12:40 PM   
10/20/2016 12:40 PM - 1:00 PM  
10/20/2016 1:00 PM - 1:20 PM  
10/20/2016 1:20 PM - 1:40 PM  
10/20/2016 1:40 PM - 2:00 PM  
10/20/2016 2:00 PM - 2:20 PM  
10/20/2016 2:20 PM - 2:40 PM 

Как вы можете видеть выше, это очень путаница со всеми датами, перечисленных для каждой строки, я хотел бы сохранить только первое значение даты для каждой даты. Что-то вроде этого:

Date   Time 
10/19/2016 8:00 AM - 8:30 AM  
      8:30 AM - 9:00 AM  
      9:00 AM - 9:30 AM  
      9:30 AM - 10:00 AM  
      10:00 AM - 10:30 AM   
      10:30 AM - 11:00 AM   
      11:00 AM - 11:30 AM   
      11:30 AM - 12:00 PM    
      12:00 PM - 12:30 PM   
      12:30 PM - 1:00 PM  
      1:00 PM - 1:30 PM  
      1:30 PM - 2:00 PM  
10/20/2016 9:00 AM - 9:20 AM  
      9:20 AM - 9:40 AM  
      9:40 AM - 10:00 AM  
      10:00 AM - 10:20 AM   
      10:20 AM - 10:40 AM   
      10:40 AM - 11:00 AM   
      11:00 AM - 11:20 AM   
      11:20 AM - 11:40 AM   
      11:40 AM - 12:00 PM   
      12:00 PM - 12:20 PM   
      12:20 PM - 12:40 PM   
      12:40 PM - 1:00 PM  
      1:00 PM - 1:20 PM  
      1:20 PM - 1:40 PM  
      1:40 PM - 2:00 PM  
      2:00 PM - 2:20 PM  
      2:20 PM - 2:40 PM 

Вот мой код, который я в настоящее время используется для вывода значений на экран:

<table> 
     <thead> 
      <tr> 
       <th>Date</th> 
       <th>Time Slots</th> 
      </tr> 
     </thead> 
     <tbody> 
      ~[tlist_sql; 
       Select to_char(PTC_DATE,'mm/dd/yyyy'),SLOT_LABEL 
       From EVENT_SLOTS 
       Where e.EVENT_ID = '145' 
       Order by PTC_DATE, DISPLAY_ORDER;] 
      <tr> 
       <td>~(PTC_DATE)</td> 
       <td>~(SLOT_LABEL)</td> 
      </tr> 
      [/tlist_sql] 
     </tbody> 
    </table> 

Что было бы, если это вообще возможно, чтобы удалить повторяющиеся значения даты в моей Дата тд теге ? Если кто-нибудь может помочь, пожалуйста, дайте мне знать. Благодарю.

+0

Определение таблицы? – jarlh

+0

Что вы понимаете под определением таблицы? –

+0

Имена столбцов и типы данных. (И имена таблиц.) – jarlh

ответ

1

Хорошо, если вы действительно хотите, чтобы управлять этим в jquery/javascript добавить класс к каждой дате <td> и запустить этот код:

var placeholder = ''; 
$(".date").each(function() { 
    if (placeholder != '') { 
    if (placeholder == $(this).text()) { 
     $(this).text(""); 
    } else { 
     placeholder = $(this).text(); 
    } 
    } else { 
    placeholder = $(this).text(); 
    } 
}); 

https://jsfiddle.net/j4v387nu/

+0

это работает! Я только что протестировал на своей странице, и все дубликаты удалены с экрана. Мне было интересно, можно ли положить тег


после того, как найден дубликат? Таким образом, пользователь может видеть, где перерыв между разными датами? Спасибо еще раз за ваше время и помощь! –

+0

@ user3023588, вы можете сделать что-то вроде этого: $ (this) .append ("


"); а затем сделайте некоторый стиль с помощью css: https://jsfiddle.net/j4v387nu/2/ – RAS

0

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

update table1 a 
    set a.date ='' 
    where a.time > (
        select min(time) 
        from table1 
        where date=a.date 
       ) 

Использование добавочного столбца для фильтрации будет выполнять работу

update table1 a 
    set a.date ='' 
    where a.ID > (
       select min(ID) 
       from table1 
       where a.date=date 

      ) 
+1

Тип данных STRING (50) ... Tricky ... – jarlh

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