Avatar billede sylvesternielsen Nybegynder
21. oktober 2004 - 10:19 Der er 5 kommentarer og
1 løsning

SQL træk driller

Jeg vil her lave en liste over moduler fra databasen, men kun dem som ikke allerede eksistere i databasen SaleModules.

En som kan rette min kode eller SQL træk så det fungerer.

        Sub ModuleList2()
            Dim DS As DataSet
            Dim MyConnection As SqlConnection
            Dim MyCommand As SqlDataAdapter

            MyConnection = New SqlConnection(System.Configuration.ConfigurationSettings.AppSettings("PubsString"))
            MyCommand = New SqlDataAdapter("select * from Modules, SaleModules Where SaleModules.Id = " & Request.QueryString("id") & " And Modules.Id != SaleModules.Modules", MyConnection)

            DS = New DataSet
            MyCommand.Fill(DS, "Authors")
            If DS.Tables("Authors").Rows.Count > 0 Then
                Modules.DataSource = DS.Tables("Authors").DefaultView
                Modules.DataBind()
            End If

        End Sub
Avatar billede arne_v Ekspert
21. oktober 2004 - 10:24 #1
Jeg tror at du mener:

MyCommand = New SqlDataAdapter("select * from Modules where Id not in (select Modules from SaleModules where Id = " & Request.QueryString("id") & ")", MyConnection)
Avatar billede jpvj Nybegynder
21. oktober 2004 - 10:25 #2
Uden at være en ørn til SQL, så må det være noget i stil med:

SELECT * FROM Modules
WHERE (SaleModules.Id = " & Request.QueryString("id") & ") AND (Modules.Id NOT IN (SELECT Modules FROM SaleModules))
Avatar billede jpvj Nybegynder
21. oktober 2004 - 10:30 #3
He-he... vi er vist ret enige.

1) Hvad hedder feltet i SaleModules med id nummeret på modulet i Modules? (id eller Modules).

2) Det er nok hensigtsmæssigt at indføre en WHERE clause i NOT IN (SELECT ... WHERE ...)? For små datamængder er det nok ligegyldigt, men hvis DBMS er lidt fornuftigt, så vil subselecten være cached og dermed skal der søges i en mindre datamængde...

arne_v plejer jo at have ret :-)
Avatar billede sylvesternielsen Nybegynder
21. oktober 2004 - 11:04 #4
Jep.. det var lige det jeg manglede..
Smider du et svar=?
Avatar billede arne_v Ekspert
21. oktober 2004 - 11:26 #5
mig ?
Avatar billede sylvesternielsen Nybegynder
21. oktober 2004 - 11:27 #6
Jep.. *S*
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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