Desktop
Website
Multimedia
Database
Security
Enterprise
Fråga : Hur jämför två sätter in, och baserat på en riktig jämförelse matar in in i another sätter in?
Oken jag har en bordlägga, som har DeviceName, OutageType, OutageDate, DownDate, TotalD
own.
ColA har multipeltillträden som baseras på när outaged häntt (strömavbrottet var huruvida besegrar eller up).
ColB har typen av strömavbrottet för den specificerade apparaten i
ColC för ColA (igen upp eller besegra), är datera som occurred
ColD för strömavbrottet (i ColB) är datera, apparaten (i ColA) gick down
ColE är den sammanlagda tiden (i decimal- formatera) att apparaten var besegrar (detta är ett precalculated sätter in insatt från another skrivar), men endast fäst sätter in/ror som devicetype='up'
The bordlägger looks gillar:
abcd-s-2-01, besegrar,
te> som är ogiltig, N
ull
abcd-s-2-01, upp,
>,
e>,
ime>
abcd-s-2-01, besegrar,
te> som är ogiltig, N
ull
abcd-s-2-01, upp,
>,
e>.
ime>
Basically som, en strömavbrottstyp av besegrar innehåller endast den kända apparaten, typen av strömavbrottet och, när det strömavbrott uppstod. En strömavbrottstyp av övre innehåller det känt, typ, daterar av strömavbrott, daterar apparaten gick besegrar, och den sammanlagda tiden som det var down
Here, är vad jag behöver. Jag behöver att skapa ett nytt bordlägger som innehåller: behov för
TotalDown
The för
DeviceName
DeviceType
DownDate
UpDate (denna är datera i som devicetype='Up'en för apparaten som över listas i ColA) ovannämnda att vara för endast de apparater, som är ”, besegrar”. Målet av bordlägga är att visa att vilken apparat gick, besegra och, då, och, då den kom säkerhetskopia och den sammanlagda tiden, den tog därefter för att komma säkerhetskopia.
The bordlägger tillverkat bör se lik:
abcd-s-2-01, besegrar,
>,
, *whereuppdateringen för
e> är outagedaten, när type=up.
The besvärar I-förmiddagen som den har, figurerar ut hur man får uppdateringen och TotalTimen. Jag kan hämta de första 3 kolonnerna från annan bordlägger, därför att de listas på en ror. Förmiddag som I har prövas problem att hämta outageDaten och TotalTimen när Type=Up och sätter det in in i min nya meddelanden för strSQL för spring två för table.
I försökta (ett var outagetype=down och annat var outagetype=up) och jämför DeviceName, men understödjaSQL-queryen (var type=up) gör inte jordbruksprodukter de samma devicenamedatan. Till exempel:
SQL1 producerar:
devicename, outagetype, down
date
abcd-s-2-1, besegrar, 17:00 2010-06-01: 37
abcd-s-2-1, besegrar, 19:00 2010-06-01: 15
xyz-s-2-1, besegrar, 18:00 2010-06-01: 01
xyz-s-2-1, besegrar, 07:05 2010-06-05: 49
xyz-s-2-1, besegrar, 12:15 2010-06-10: 56
SQL2 producerar:
devicename, outagetype, down
date, outag
edate, tota
ltime
abcd-s-2-1, UPP, 17:00 2010-06-01: 37 17:15 2010-06-01: 00 0.23
abcd-s-2-1, UPP, 19:00 2010-06-01: 15 19:30 2010-06-01: 18 0.51
xyz-s-2-1, UPP, 18:00 2010-06-01: 01 19:00 2010-06-01: 00 1.00
xyz-s-2-1, UPP, 07:05 2010-06-05: 49 09:35 2010-06-05: 25 2.50
xyz-s-2-1, UPP, 12:15 2010-06-10: 56 11:10 2010-06-11: 10 22.90
xyz-s-2-1, UPP, 10:22 2010-06-06: 00 01:11 2010-06-07: 41 20.85
as som du kan se, SQL2, har ett extra tillträde som inte är i resultat för query SQL1. (Namnge), när jag gör en recordset för att jämföra, apparaten två namnger (objRS.Fields =objRS1
.Fields (na
me)) Jag får ogiltig värderar alla över förlägga, eller ingenting becaue, när SQL2 <> SQL1 det rörar upp vila av den enkla recordseten Loop.
The, kodifierar mig har är:
objRS = SQL1
objRS1=SQL2
Do, tills objRS för objRS.EOF
if (namnge), = (namnge), up_date för
then = (outagedate) else
up_date = null
This fungerar unitl mig, får till peka var det finns extrahjälpresultat från SQL2, som inte jämför till SQL1 (eller omvänt). för
Is där inte så långt försvåras för att uppnå detta i VB? Jag har varit pröva att göra den för två dagar, och I-förmiddagen som slår en mental block.
If som, du behöver mer klarhet, l5At mig know.
" klar "
Svar : Hur jämför två sätter in, och baserat på en riktig jämförelse matar in in i another sätter in?
Att anta ha dessa data i ditt bordlägger
devicename outagetype, downdate, outagedate, totaltime
acbd-s-2-1 BESEGRAR 15:00 2010-05-05: 00.000 OGILTIGT OGILTIGT
acbd-s-2-1 UP 15:00 2010-05-05: 00.000 18:15 2010-05-05: 00.000 3.25
acbd-s-2-1 BESEGRAR 13:00 2010-05-06: 00.000 OGILTIGT OGILTIGT
acbd-s-2-1 UP 13:00 2010-05-06: 00.000 13:45 2010-05-06: 00.000 0.75
acbd-s-2-1 BESEGRAR 11:00 2010-05-10: 00.000 OGILTIGT OGILTIGT
xyz-b-23-1 BESEGRAR 12:12 2010-04-05: 00.000 OGILTIGT OGILTIGT
xyz-b-23-1 UP 12:12 2010-04-05: 00.000 13:15 2010-04-05: 00.000 1.01
xyz-b-23-1 BESEGRAR 11:00 2010-05-05: 00.000 OGILTIGT OGILTIGT
xyz-b-23-1 UP 11:00 2010-05-05: 00.000 14:05 2010-05-05: 00.000 3.02
xyz-b-23-1 BESEGRAR 11:15 2010-05-06: 00.000 OGILTIGT OGILTIGT
om du körde denna query
välj A.*, B.* från
(välj * från tblOutage var OutageType = ”besegrar”), A
inre sammanfoga
(VÄLJ * från tblOutage var OutageType = ”upp”), B
på A.Devicename=B.Devicename OCH A.downdate=b.downdate
du har detta resultat
devicename outagetype downdate outagedate totaltime devicename outagetype downdate outagedate totaltime
----------------- ------------ ----------------------- ----------- ---------- ------------- ------------ ----------------------- ----------------------- ------------
acbd-s-2-1 BESEGRAR 15:00 2010-05-05: 00.000 OGILTIGA OGILTIGA acbd-s-2-1 UP 15:00 2010-05-05: 00.000 18:15 2010-05-05: 00.000 3.25
acbd-s-2-1 BESEGRAR 13:00 2010-05-06: 00.000 OGILTIGA OGILTIGA acbd-s-2-1 UP 13:00 2010-05-06: 00.000 13:45 2010-05-06: 00.000 0.75
xyz-b-23-1 BESEGRAR 11:00 2010-05-05: 00.000 OGILTIGA OGILTIGA xyz-b-23-1 UP 11:00 2010-05-05: 00.000 14:05 2010-05-05: 00.000 3.02
xyz-b-23-1 BESEGRAR 12:12 2010-04-05: 00.000 OGILTIGA OGILTIGA xyz-b-23-1 UP 12:12 2010-04-05: 00.000 13:15 2010-04-05: 00.000 1.01
(4 påverkade rader)
Andra lösningar
Hur många skrivar av sidor r där i SQL-server?
OMA och OWA
Missa över mellan GLÅMIGA anslutningar för aktiv/för aktiv på en Cisco Router
ASP.Net tappar skuggar verkställer
Vad är ämna av ”den MAKEFILE” makroen i en makefile?
Ett rengöringsdukundantag uppstod därför att en HTTP 401 - det obehöriga svaret mottogs från okända
Funktionen måste använda en Updateable Query
PHP passerar parametrar till den on-line aktiveringssidan
Ethernetövergångskabel förbinder
döda ett processaa vid styrka, hur kan jag