Avatar billede l_otto Nybegynder
28. juni 2007 - 08:05 Der er 25 kommentarer

Sammenling to tabeller

jeg har tabel1 og tabel2 de har hver to felter 'fornavn' 'efternavn'

jeg vil gerne lave et script der finder forskellen fra tabel2 mod tabel1 dvs er der et fornavn i table2 som ikke findes i table1

hvis der er vil jeg gerne have det 'fornavn' 'efternavn' (record) indsat i tabel3 (som også har felterne 'fornavn' 'efternavn')

Håber I fårstår..
Avatar billede fennec Nybegynder
28. juni 2007 - 08:20 #1
set rs = conn.execute("select * from tabel1 where fornavn not in (select fornavn from table2)")
while not rs.eof
  conn.execute("insert into(fornavn,efternavn) values('"& rs("fornavn") &"','"& rs("efternavn") &"')")
  rs.MoveNext
wend
Avatar billede fennec Nybegynder
28. juni 2007 - 08:22 #2
Glemte lige tabel navnet:
conn.execute("insert into table3(fornavn,efternavn) values('"& rs("fornavn") &"','"& rs("efternavn") &"')")
Avatar billede fennec Nybegynder
28. juni 2007 - 08:24 #3
Hov, det var også dem fra tabel2 som ikke er i table1:
set rs = conn.execute("select * from tabel2 where fornavn not in (select fornavn from table1)")

Kan evt også gøres med en linje:
conn.execute("insert into table3(fornavn,efternavn) select fornavn, efternavn from tabel2 where fornavn not in (select fornavn from table1)")")
Avatar billede l_otto Nybegynder
28. juni 2007 - 08:49 #4
jeg prøver lige...

Fennec på har jo hjulpet mig før og du er så god... jeg har virkelig en udfordring med at løse dette problem... ikke med ajax men med kode

http://www.eksperten.dk/spm/784338
Avatar billede bauerdata Nybegynder
28. juni 2007 - 09:04 #5
# er det ikke mere rimeligt at kombinere for og efternavn.
select * from tabel1 where (fornavn,efternavn) not in (select fornavn, efternavn from table2)
union
select * from tabel2 where ( fornavn, efternavn ) not in (select fornavn, efternavn from table1)
Avatar billede l_otto Nybegynder
28. juni 2007 - 21:39 #6
fennec jeg kan ikke helt få den til at virke ?

<%
set rs = DataConn.execute("insert into table3(fornavn,efternavn) select fornavn, efternavn from tabel2 where fornavn not in (select fornavn from table1)")")
%>


fejl

Microsoft VBScript compilation error '800a0409'

Unterminated string constant

/ver2/ww.asp, line 28

set rs = DataConn.execute("insert into tabel3(fornavn,efternavn) select fornavn, efternavn from tabel2 where fornavn not in (select fornavn from tabel1)")")
------------------------------------------------------------------------------------------------------------------------------------------------------------^
Avatar billede fennec Nybegynder
29. juni 2007 - 08:26 #7
Jeg havde fået et ") for meget på. Og du behøver ikke rs objektet:

DataConn.execute("insert into tabel3(fornavn,efternavn) select fornavn, efternavn from tabel2 where fornavn not in (select fornavn from tabel1)")
Avatar billede l_otto Nybegynder
29. juni 2007 - 08:53 #8
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[MySQL][ODBC 3.51 Driver][mysqld-3.23.58]You have an error in your SQL syntax near 'select fornavn from tabel1)' at line 1

/ver2/ww.asp, line 28
Avatar billede fennec Nybegynder
29. juni 2007 - 09:10 #9
Hvilken version af MySQL kører du??
Avatar billede l_otto Nybegynder
29. juni 2007 - 11:38 #10
MySQL 3.23.58
Avatar billede fennec Nybegynder
29. juni 2007 - 11:47 #11
Crap. Det er en pæn gammel version så, og den understøtter sikkert ikke in metoden.

Kan du køre den første sql jeg lavede:
set rs = conn.execute("select * from tabel1 where fornavn not in (select fornavn from table2)")

Skal bare finde ud af om in (select..) metoden er understøttet.
Avatar billede fennec Nybegynder
29. juni 2007 - 11:50 #12
Det er ikke sådan at du kan opgradere til 4.x eller bedre endnu 5.x. 3.x versionerne af MySQL er MEGET mangelfulde. Det er først ved version 5 at jeg personlig har ville betegne MySQL som en rigtig database...
Avatar billede l_otto Nybegynder
29. juni 2007 - 11:53 #13
det kan de desværre ikke... hvad gør jeg så ?
Avatar billede l_otto Nybegynder
29. juni 2007 - 12:07 #14
Microsoft VBScript runtime error '800a01a8'

Object required: ''

/ver2/ww.asp, line 28

11:47:40
Avatar billede l_otto Nybegynder
29. juni 2007 - 12:09 #15
sorry
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[MySQL][ODBC 3.51 Driver][mysqld-3.23.58]You have an error in your SQL syntax near 'select fornavn from tabel2)' at line 1

/ver2/ww.asp, line 28
Avatar billede l_otto Nybegynder
29. juni 2007 - 12:10 #16
set rs = DataConn.execute("select * from tabel1 where fornavn not in (select fornavn from tabel2)")
Avatar billede fennec Nybegynder
29. juni 2007 - 12:34 #17
Dette bliver noget crap kode. Specielt hvis du har mange rækker:

set rs = conn.execute("select * from table2")
while not rs.eof
  set rs1 = conn.execute("select * from table1 where fornavn='"& replace(rs("fornavn"),"'","''") &"'")
  if rs1.eof then
    'Navnet eksistere ikke
    conn.execute("insert into table3(fornavn,efternavn) values('"& replace(rs("fornavn"),"'","''") &"','"& replace(rs("efternavn"),"'","''") &"')")
  end if
  rs.MoveNext
wend
Avatar billede l_otto Nybegynder
29. juni 2007 - 12:51 #18
nu fejler den ikke men fejler heller ikke
Avatar billede fennec Nybegynder
29. juni 2007 - 13:15 #19
en gang til?? Virker det ikke??
Avatar billede l_otto Nybegynder
29. juni 2007 - 13:20 #20
sorry fejler ikke men den inserter ikke i tabel3
Avatar billede fennec Nybegynder
29. juni 2007 - 13:32 #21
Ved ikke om du har fået skrevet det forkert fra starten, men den finder alle dem i tabel2, som ikke er i tabel1. Det er ikke sådan at det skal være omvendt?
Avatar billede l_otto Nybegynder
29. juni 2007 - 13:35 #22
smukt det virker :-) jubiii tak
Avatar billede l_otto Nybegynder
01. juli 2007 - 20:50 #23
hvordan skriver jeg et script der select * tabel3 og inserter det hele i tabel4
Avatar billede fennec Nybegynder
02. juli 2007 - 08:34 #24
Kommer an på diverse ting... ID'et er det autonummer og skal det også flyttes over?

Ellers er det bare at smide alle felter på:
insert into table4(kol1,kol2,kol3,kol4) select kol1,kol2,kol3,kol4 from table3
Avatar billede fennec Nybegynder
02. juli 2007 - 08:34 #25
.o) <-- One Eyed Jack
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste spørgsmål Seneste aktivitet
I dag 16:10 Tomt felt i Start Af ErikHg i Windows
I går 23:00 Hyperlink til tekst Af Nanarsi i Excel
18/0121:03 Forlænge ringetid Af 1Dorte i Apps til Android
17/0117:38 Video ikoner Af Malm i Windows
17/0117:27 Video ikoner Af logbuilders i Windows