/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Udtræk fra flere tabeller
Fra : Michael Jakobsen


Dato : 20-05-01 10:45

Kan det ikke lade sig gøre, at lede efter et kriterie i flere tabeller
i samme database ?
Jeg har følgende forespørgelse:

SQLstmt = "select * FROM TABEL1 WHERE varenr='" &
Request.QueryString("id") & "'"

Dette virker sålænge varenr findes i TABEL1, men jeg vil samtidig
gerne have den til at lede efter varenr i TABEL2 ?

Varenr er unikke numre som kun forefindes én gang

Jeg har førsøgt b.la. med:

SQLstmt = "select * FROM TABEL1, TABEL2 WHERE varenr='" &
Request.QueryString("id") & "'"

Men det virker ikke ?!?


/Goose
--
<URL:mailto:webmaster@goose.dk>
<URL:http://www.goose.dk>

 
 
Claus O (20-05-2001)
Kommentar
Fra : Claus O


Dato : 20-05-01 10:51

"Michael Jakobsen" <admin@goose.dk> wrote

> Dette virker sålænge varenr findes i TABEL1, men jeg vil samtidig
> gerne have den til at lede efter varenr i TABEL2 ?

Burde det ikke virke med tabel 1 UNION ALL tabel2 where.... hvis
det er Access vi taler?

Men hvis det er eks. MySQL vil jeg også gerne stille spørgsmålet,
hvad er så nemmest?
Claus




Michael Jakobsen (20-05-2001)
Kommentar
Fra : Michael Jakobsen


Dato : 20-05-01 11:04

On Sun, 20 May 2001 11:51:14 +0200, "Claus O"
<clausolsen@NOSPAMhotmail.com> wrote:

>Burde det ikke virke med tabel 1 UNION ALL tabel2 where.... hvis
>det er Access vi taler?
Så får jeg følgende fejl:

[Microsoft][ODBC Microsoft Access-driver] Det er en ugyldig
SQL-sætning. "DELETE", "INSERT", "PROCEDURE","SELECT" eller "UPDATE"
var ventet.


/Goose
--
<URL:mailto:webmaster@goose.dk>
<URL:http://www.goose.dk>

Claus O (20-05-2001)
Kommentar
Fra : Claus O


Dato : 20-05-01 11:10

"Michael Jakobsen" <admin@goose.dk> wrote

> [Microsoft][ODBC Microsoft Access-driver] Det er en ugyldig
> SQL-sætning. "DELETE", "INSERT", "PROCEDURE","SELECT" eller "UPDATE"
> var ventet.
>

Min fejl selvfølgelig:
Select foran tabel2 igen.
Claus




Michael Jakobsen (20-05-2001)
Kommentar
Fra : Michael Jakobsen


Dato : 20-05-01 11:24

On Sun, 20 May 2001 12:09:58 +0200, "Claus O"
<clausolsen@NOSPAMhotmail.com> wrote:

>Select foran tabel2 igen.
Hvis jeg har forstået dig ret, så skal min sætning nu se således ud:

SQLstmt = "select * FROM TABEL1 UNION ALL select * from TABEL2 WHERE
varenr='" & Request.QueryString("varenr") & "'"

Jeg får nu ingen fejl, men nu viser den bare samme varenr uanset
hvilket der vælges ?

/Goose
--
<URL:mailto:webmaster@goose.dk>
<URL:http://www.goose.dk>

Claus O (20-05-2001)
Kommentar
Fra : Claus O


Dato : 20-05-01 11:39

"Michael Jakobsen" <admin@goose.dk> wrote
>
> Jeg får nu ingen fejl, men nu viser den bare samme varenr uanset
> hvilket der vælges ?
>

Hvad sker der hvis du prøver uden ALL? -
ellers tror jeg ikke mine sparsomme evner rækker.
Claus




Michael Jakobsen (20-05-2001)
Kommentar
Fra : Michael Jakobsen


Dato : 20-05-01 11:50

On Sun, 20 May 2001 12:39:23 +0200, "Claus O"
<clausolsen@NOSPAMhotmail.com> wrote:

>Hvad sker der hvis du prøver uden ALL? -
Det havde samme effekt, altså viser den samme varenr. hele tiden.
Du får tak for hjælpen, men jeg tror det nemmeste er at lave databasen
om, altså samle alle tabellerne i én tabel.

/Goose
--
<URL:mailto:webmaster@goose.dk>
<URL:http://www.goose.dk>

Lauritz Jensen (20-05-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 20-05-01 12:24

Michael Jakobsen wrote:
>
> SQLstmt = "select * FROM TABEL1 UNION ALL select * from TABEL2 WHERE
> varenr='" & Request.QueryString("varenr") & "'"
>
> Jeg får nu ingen fejl, men nu viser den bare samme varenr uanset
> hvilket der vælges ?

varenr = Replace(Request.QueryString("varenr"), "'", "''")
sql = "SELECT varenr, navn " & _
"FROM table1 " & _
"WHERE varenr='" & varenr & "' " & _
"UNION " & _
"SELECT varenr, navn " & _
"FROM table2 " & _
"WHERE varenr='" & varenr & "' "

Kommentarer:
- Det virker kun hvis alle tabeller har sammen antal/typer kolonner.
- Er du sikker på at dit database design er helt i top?
- Lad være med at bruge "SELECT *"
- Husk at erstatte ' med '', så folk ikke får frit spild i din database.
- Prøv at kigge i access's hjælpefil under UNION. Jeg vil tro, syntaxen
er forklaret der.

--
Lauritz

Claus O (20-05-2001)
Kommentar
Fra : Claus O


Dato : 20-05-01 12:40

"Lauritz Jensen" <lauritz2@hotmail.com> wrote
>
> varenr = Replace(Request.QueryString("varenr"), "'", "''")
> sql = "SELECT varenr, navn " & _
> "FROM table1 " & _
> "WHERE varenr='" & varenr & "' " & _
> "UNION " & _
> "SELECT varenr, navn " & _
> "FROM table2 " & _
> "WHERE varenr='" & varenr & "' "

Hvordan kunne dette se ud i MySQL?
Claus





Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408872
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste