Avatar billede Ulrich Seniormester
25. november 2021 - 21:51 Der er 3 kommentarer og
1 løsning

Trække ud fra to tabeller i samme database.

Jeg har lavet denne og den virker, men jeg har brug for en LIKE %% funktion i stedet for IN.
set nydataaktivitetdaysselect = conn.execute("select * from SideLinkListe WHERE SideLink IN (select SideNavn from Sideindhold WHERE HvilkenUgeDag LIKE '%" & request.form("dagselectknapper") & "%')")


I teori skal det være som her under:
Først:
a = vælg SideNavn fra tabel SideIndhold hvor HvilkenUgeDag er LIKE 'Mandag'
Der efter:
b = vælg * fra tabel SideLinkListe hvor SideLink LIKE %a% AND VisesPaaAktivitetsSelectSide > ''
Så skal b i loop for at liste indholdet
Do while not b.EOF
Avatar billede claes57 Ekspert
26. november 2021 - 08:17 #1
kan det ikke bare skydes ind fra
...tknapper") & "%')")
til
...tknapper") & "%' AND VisesPaaAktivitetsSelectSide)")
Avatar billede Ulrich Seniormester
26. november 2021 - 10:21 #2
SideNavn skal findes i SideLink og det gør det med IN hvis begge er helt ens fx:

SideNavn = abc og SideLink = abc

Men hvis det er fx:

SideNavn = abc og SideLink = abc/def så kommer der intet resultat.

Derfor er det at jeg er ude efter af IN skal virke som LIKE %% eller en anden måde at skrive strengen på.
Avatar billede Ulrich Seniormester
26. november 2021 - 17:10 #3
En database hvor der er to tabeller:

Først skal der søges i den ene tabel:
a = select SideNavn from Sideindhold WHERE HvilkenUgeDag LIKE '%" & request.form("dagselectknapper") & "%'

Der efter skal resultatet a bruges til at finde i den anden tabel:
b = select * from SideLinkListe WHERE SideLink LIKE %a% AND VisesPaaAktivitetsSelectSide > ''

Så skal b i loop for at liste indholdet
Do while not b.EOF

Men, men, det skal være i en samlet SQL streng for at det hele hentes samtidigt, ellers er det kun en record der hentes,
og det virker med denne:
set nydataaktivitetdaysselect = conn.execute("select * from SideLinkListe WHERE SideLink IN (select SideNavn from Sideindhold WHERE HvilkenUgeDag LIKE '%" & request.form("dagselectknapper") & "%') AND VisesPaaAktivitetsSelectSide > ''")

Meeen ikke helt, for der bliver ikke søgt med wildcard ved IN som der gør med LIKE %%

Det er det der er problemet og jeg ved ikke hvordan strengen skal laves for at den virker...
Avatar billede Ulrich Seniormester
02. december 2021 - 18:11 #4
Her er løsning, begge virker:

set nydataaktivitetdaysselect = conn.execute("SELECT SideLinkListe.* FROM SideLinkListe INNER JOIN Sideindhold ON SideLinkListe.SideLink LIKE '%' + Sideindhold.SideNavn + '%' WHERE  VisesPaaAktivitetsSelectSide > '' AND HvilkenUgeDag LIKE '%" & request.form("dagselectknapper") & "%'")

set nydataaktivitetdaysselect = conn.execute("SELECT sl.* FROM SideLinkListe sl INNER JOIN Sideindhold si ON (sl.SideLink LIKE '%'+si.SideNavn+'%') WHERE VisesPaaAktivitetsSelectSide > '' AND si.HvilkenUgeDag LIKE '%" & request.form("dagselectknapper") & "%'")
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
Computerworld tilbyder specialiserede kurser i database-management

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