Вопрос : Как сравните 2 поля и основано на поистине сравнении input в другое поле?

О'кейо, я имею таблицу которая имеет DeviceName, OutageType, OutageDate, DownDate, TotalDown.

ColA имею множественные входы основанные на когда outaged после того как я случен (было ли повреждение вниз или поднимает).
ColB имеет тип повреждения для определенного приспособления в
ColC колы (опять Up or Down) будет дата occurred
ColD повреждения (в ColB), котор будет дата приспособлением (в коле) пошло down
ColE будет полное время (в десятичной форме) приспособление было вниз с (это будет precalculated поле введенное от другого сценария) но только после того как оно прикреплено к полям/рядкам таблица br/>
The devicetype='up'< смотрит как:
abcd-s-2-01, вниз, te>, Null, Null
abcd-s-2-01, вверх по, >, e>, ime>
abcd-s-2-01, вниз, te>, Null, Null
abcd-s-2-01, вверх по, >, e>.ime>

Basically тип повреждения вниз только содержит название прибора, тип повреждения и когда то повреждение произошло.  Тип повреждения поднимающего вверх содержит имя, тип, дату повреждения, приспособление даты пошло вниз, и полное время, котор было down

Here мне нужно.  Мне нужно создать новую таблицу содержит: потребности
TotalDown

The
DeviceName
DeviceType
DownDate
UpDate (это будет дата в devicetype='Up для вышеуказанного приспособления зарегистрированное в коле) вышеуказанные быть для только тех приспособлений «вниз».  Цель таблицы должна показать что приспособление пошло вниз и когда, и после этого когда оно пришло давало задний ход и полное время, котор оно приняло для того чтобы прийти давало задний ход. выход таблицы
The будет должно посмотреть как:
abcd-s-2-01, вниз, >, , уточнение *where e> будет outagedate когда тревога type=up.
The я имею будет вычислять вне как получить уточнение и TotalTime.  Я могу восстановить первые 3 колонки от другой таблицы потому что те зарегистрированный на одном рядке.  Я имею проблемы попытаться восстановить outageDate и TotalTime когда Type=Up и ввестись оно в мои новые заявления strSQL хода 2 table.

I судимые (одно где outagetype=down и другое где outagetype=up) и сравниваю DeviceName но второй вопрос SQL (где type=up) не производит такие же данные по devicename.  Например:

SQL1 производит:
devicename, outagetype, downdate
abcd-s-2-1, вниз, 17:00 2010-06-01: 37
abcd-s-2-1, вниз, 19:00 2010-06-01: 15
xyz-s-2-1, вниз, 18:00 2010-06-01: 01
xyz-s-2-1, вниз, 07:05 2010-06-05: 49
xyz-s-2-1, вниз, 12:15 2010-06-10: 56

SQL2 производит:
devicename, outagetype, downdate, outagedate, totaltime
abcd-s-2-1, ВВЕРХ ПО, 17:00 2010-06-01: 37, 17:15 2010-06-01: 00, 0.23
abcd-s-2-1, ВВЕРХ ПО, 19:00 2010-06-01: 15, 19:30 2010-06-01: 18, 0.51
xyz-s-2-1, ВВЕРХ ПО, 18:00 2010-06-01: 01, 19:00 2010-06-01: 00, 1.00
xyz-s-2-1, ВВЕРХ ПО, 07:05 2010-06-05: 49, 09:35 2010-06-05: 25, 2.50
xyz-s-2-1, ВВЕРХ ПО, 12:15 2010-06-10: 56, 11:10 2010-06-11: 10, 22.90
xyz-s-2-1, ВВЕРХ ПО, 10:22 2010-06-06: 00, 01:11 2010-06-07: 41, 20.85

as, котор вы можете увидеть, SQL2 имеют экстренный вход который не находится в результатах вопроса SQL1.  Когда я делаю recordset для того чтобы сравнить 2 названия прибора (objRS.Fields (названное) =objRS1.Fields (name)) Я не получаю нулевые значения повсеместно или ничего becaue когда SQL2 <> SQL1 оно messes вверх остальнои Кодего recordset, котор Loop.

The просто я имею является следующим:
objRS = SQL1
objRS1=SQL2
Do до тех пор пока objRS objRS.EOF
if (имя) = (названные) up_date
then = (outagedate) else
up_date = null

This не работать unitl я получает к пункту где будут экстренные результаты от SQL2 не сравнивают к SQL1 (или наоборот).

Is там настолько осложненная дорога достигнуть этого в VB? Я пытаюсь сделать его на 2 дня и я ударяю умственное block.

If, котор вам нужна больше ясности препятствуете мне know.
class=

Ответ : Как сравните 2 поля и основано на поистине сравнении input в другое поле?

Принимать имеющ эти данные в вашей таблице
devicename, outagetype, downdate, outagedate, totaltime
acbd-s-2-1 ОПУСКАЮТ 15:00 2010-05-05: 00.000 НУЛЕВОЙ NULL
acbd-s-2-1 ПОДНИМАЮТ 15:00 2010-05-05: 00.000 18:15 2010-05-05: 00.000 3.25
acbd-s-2-1 ОПУСКАЮТ 13:00 2010-05-06: 00.000 НУЛЕВОЙ NULL
acbd-s-2-1 ПОДНИМАЮТ 13:00 2010-05-06: 00.000 13:45 2010-05-06: 00.000 0.75
acbd-s-2-1 ОПУСКАЮТ 11:00 2010-05-10: 00.000 НУЛЕВОЙ NULL
xyz-b-23-1 ОПУСКАЮТ 12:12 2010-04-05: 00.000 НУЛЕВОЙ NULL
xyz-b-23-1 ПОДНИМАЮТ 12:12 2010-04-05: 00.000 13:15 2010-04-05: 00.000 1.01
xyz-b-23-1 ОПУСКАЮТ 11:00 2010-05-05: 00.000 НУЛЕВОЙ NULL
xyz-b-23-1 ПОДНИМАЮТ 11:00 2010-05-05: 00.000 14:05 2010-05-05: 00.000 3.02
xyz-b-23-1 ОПУСКАЮТ 11:15 2010-05-06: 00.000 НУЛЕВОЙ NULL

если вы побежали этот вопрос
выберите A.*, B.* от
(выберите * от tblOutage где OutageType = «вниз ") a
внутренне соедините
(ВЫБЕРИТЕ * от tblOutage где OutageType = «вверх ") b
на A.Devicename=B.Devicename И A.downdate=b.downdate

вы имеете этот результат
devicename        outagetype   downdate                outagedate  totaltime  devicename    outagetype   downdate                outagedate              totaltime
----------------- ------------ ----------------------- ----------- ---------- ------------- ------------ ----------------------- ----------------------- ------------
acbd-s-2-1 ОПУСКАЮТ 15:00 2010-05-05: 00.000 НУЛЕВОЙ NULL acbd-s-2-1 ПОДНИМАЕТ 15:00 2010-05-05: 00.000 18:15 2010-05-05: 00.000 3.25
acbd-s-2-1 ОПУСКАЮТ 13:00 2010-05-06: 00.000 НУЛЕВОЙ NULL acbd-s-2-1 ПОДНИМАЕТ 13:00 2010-05-06: 00.000 13:45 2010-05-06: 00.000 0.75
xyz-b-23-1 ОПУСКАЮТ 11:00 2010-05-05: 00.000 НУЛЕВОЙ NULL xyz-b-23-1 ПОДНИМАЕТ 11:00 2010-05-05: 00.000 14:05 2010-05-05: 00.000 3.02
xyz-b-23-1 ОПУСКАЮТ 12:12 2010-04-05: 00.000 НУЛЕВОЙ NULL xyz-b-23-1 ПОДНИМАЕТ 12:12 2010-04-05: 00.000 13:15 2010-04-05: 00.000 1.01

(4 рядка поврежденного)


Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us