|
| 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
| |
|
|