webForumDet fria alternativet

Oracle databas anrop med SQL

4 svar · 335 visningar · startad av Faramir

FaramirMedlem sedan sep. 20017 inlägg
#1

Jag har problem med att få SQL anropen mit en Oracle databas att fungera, när jag anropar en tabell fungerar det, men när jag skall JOINa flera tabeller så far jag inte det att fungera.

Hur skall man JOINa tabeller vid anrop till en Oracle databas?

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Det beror på vilken version det är. Version 9 har stöd för join i from-listan vilket version 8 inte har. Om det är version 8 så får du ange join i where-delen.

Kan du ge något exempel på hur du skriver och vilket fel du får?

FaramirMedlem sedan sep. 20017 inlägg
#3

Det är version 8.
Nu har jag inte koden hemma, jag skriver in det viktigaste från ett utdrag som jag har liggande, finns många olika alternativ som jag har försökt med...

Jag gjorde ursrunglingen en design i Access och skapade där SQL frågan, sedan har jag provat ändra en del mm.

St = "Provider=MSDAORA; Data Source=OraLB; User ID=ULB; Password=Upwd"
Set cnn= Server.CreateObject("ADODB.Connection")
Set rs= CreateObject("ADODB.RecordSet")
Cnn.Open St

SQL= "SELECT DISTINCTROW [ARCHIVE].[NUMBER], [ARCHIVE].[DATE_TIME], [ARCHIVE].[PCODE], [PARAMETER].[RESULT], [PARAMETER].[PCODE] "
SQL= SQL & "FROM (ARCHIVE INNER JOIN PARAMETER ON [ARCHIVE].[PCODE] = [PARAMETER].[PCODE]"

Jag joinar 3 tabeller och betydligt fler fält, men du bör se hur jag har försökt iaf...

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Det var en del accessspecifika saker

SQL= "SELECT distinct ARCHIVE.""NUMBER"", ARCHIVE.DATE_TIME, ARCHIVE.PCODE, ""PARAMETER"".RESULT, ""PARAMETER"".PCODE "
SQL= SQL & "FROM ARCHIVE, ""PARAMETER"" where ARCHIVE.PCODE = ""PARAMETER"".PCODE"

Number är ett reserverat ord i Oracle så det är inte bra som kolumnnamn, därför anger jag det som "NUMBER" i select-frågan. Parameter är också reserverat.

Om du vill joina fler tabeller så är det bara att lägga till dom i from-listan coh fylla på med villkor i where-delen.

FaramirMedlem sedan sep. 20017 inlägg
#5

Ok, jag förkortade de olika fältens namn, pga att de är så långa, tex det angina number fältet heter egentligen [KCA_ARCHIVE_RES_EXP].[SAMPLE_NUMBER]...

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)