Разное ч / б время в двух строках на сервере sql - PullRequest
1 голос
/ 01 декабря 2009

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

categoryid  item_id  group  date
     1        10      abc   2008-03-07 03:02:00
     1        35      bcd   2008-04-03 10:03:00
     2        13      cde   2008-03-13 07:18:00
     2        40      ced   2008-03-13 08:41:00
     2        44      cef   2008-03-13 09:41:00

мне нужно найти разницу во времени для первой и второй строк - они попадают под одну катушку ... и она под ней продолжается и cat1

Ответы [ 3 ]

0 голосов
/ 01 декабря 2009

Я бы сказал так, но принцип тот же

SELECT r1.item_id AS r1Id, r2.item_id AS r2Id, datediff(day, r1.date, r2.date) AS diff
FROM @t r1
INNER JOIN @t r2 ON r1.categoryid = r2.categoryid
WHERE r1.item_id != r2.item_id
0 голосов
/ 01 декабря 2009

Во-первых, большое спасибо всем вам. Извините за неправильный отступ в вопросе. И он работает, но с хранимой процедурой,

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

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

0 голосов
/ 01 декабря 2009

Попробуйте (не проверено)

SELECT datediff(day,t.date,d.date) diff
  FROM @t d 
  JOIN @t t ON d.categoryid = t.categoryid
 and t.itemid <> d.itemid
 and datediff(day,t.date,d.date) >0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...