Avatar billede papman Nybegynder
22. april 2003 - 11:25 Der er 3 kommentarer og
1 løsning

SQL SQL og så lidt mere SQL

Hej
Jeg har brug for lidt hjælp med sql!
Jeg ved ikke lige helt hvad koderene skal hede men nu forsøger jeg at beskrive det:

Nr1
Har "person" læst i db en før? så updatere db'en med 1 hvor person = "session....."
Else
Insert "person" into db'en
End if

Nr2
Hvordan sørger man for at der altid kun er fx 10 rows(ned-af i ens db? >
Insert into db hvis mere end 10 rows så tilføj nyeste og slet alt efter række 10

Nr3
Hvordan laver man en double count i den samme tabel?
SELECT Count(*) AS Alle, Count(*) AS HvorMangeKvinder FROM users WHERE (((users.gen)="true")) Håber i forstå hvad jeg mener....

Nr4
Lidt i stil med nr 1.
Når man skal oprette en user hvordan sørger man så for at brugere ikke er der i forvejen ?

Nr5
Hvad er forskællen på union(tro jeg det hedder) og join?

PFT
PAPMAN
Avatar billede oasen Nybegynder
22. april 2003 - 12:30 #1
1/4) Set rs = Conn.Execute("Select Count(*) As Antal From Tabel Where Person = " & Session("BrugerID"))
If rs("Antal") = 0 Then
  Conn.Execute("Update Tabel Set Felt = 1 Where Person = " & Session("BrugerID"))
Else
  Conn.Execute("Insert Into Tabel (Person) Values (" & BrugerID & ")")
End If

2) Set rs = Conn.Execute("Select Count(*), Person As Antal From Tabel")
rowCount = rs("Antal")
While rowCount > 9
  Conn.Execute("Delete * From Tabel Where Person = " & rs("Person"))
  rowCount = rowCount - 1
  rs.MoveNext
Wend

3) Du kan tælle på de felter, der ikke er Null med Count(Felt).
Avatar billede papman Nybegynder
22. april 2003 - 12:40 #2
Du lyder klog! *SS*

Jeg bliver lige nød til at afprøve det så skal jeg nok vende tilbage :-)
Avatar billede oasen Nybegynder
22. april 2003 - 12:43 #3
Ang spm 5, så bruges de begge til at sammenkæde data fra flere tabeller, men det er forskellige måder at gøre det på.

Union:
SELECT * FROM TABEL WHERE ID > 2 UNION SELECT * FROM TABEL WHERE id > 3

Inner Join:
SELECT TABEL1.FELT FROM TABEL1 INNER JOIN TABEL2 ON TABEL1.FELT2 = TABEL2.FELT2 WHERE TABEL2.FELT = 34
(viser de rækker, der har samme ID på tværs af tabellerne)

Af andre joins kan nævnes Left Joins, Right Joins, Full Natural Joins, Outer Join m.v.
Avatar billede oasen Nybegynder
22. april 2003 - 12:47 #4
Det er ligså meget ment som lidt inspiration, da det ikke fremgår præcist, hvad du ønsker. Men spørg hvis der er noget. Og så var der lige en tastebøf ;)

Set rs = Conn.Execute("Select Count(*) As Antal, Person From Tabel")
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
Kurser inden for grundlæggende programmering

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