/ Forside/ Teknologi / Udvikling / SQL / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
sql der sletter
Fra : glenn007
Vist : 320 gange
100 point
Dato : 31-08-04 23:50

hvordan kan man slette alle poster i en table hvor posten kun er nævnt en gang



 
 
Kommentar
Fra : poul_from


Dato : 31-08-04 23:59

prøv at uddybe dit spørgsmål

Kommentar
Fra : poul_from


Dato : 01-09-04 00:08

i hvilken forbindelse bruges tabellen i php eller asp eller noget helt andet dette er for at lettere at give dig et svar eller et script der kan udføre dette


Kommentar
Fra : glenn007


Dato : 01-09-04 08:39

hej poul

Jeg bruger MySql sammen med asp. det er meningen at koden skal slette alle de poster der kun forefindes en gang og skal køre hver time. evt. retunere hvor mange der er belevt slettet, men det behøves ikke

Kommentar
Fra : snortop


Dato : 01-09-04 11:09

her har du alt du skal vide omkring delete i SQL!!

http://www.w3schools.com/sql/sql_delete.asp

Kommentar
Fra : snortop


Dato : 01-09-04 11:10

Eller alt man burde vide

Kommentar
Fra : glenn007


Dato : 01-09-04 13:25

hej snortop

jeg ved godt det meste af alt det der, men mit problem er at jeg ikke ved hvordan man sletter, jeg ved bare ikke hvordan man tæller alle poster og derefter sletter dem der kun findes 1 gang
sql linien der tæller poster kunne jo være

sqlcount = "SELECT count(ip) as counted FROM oversigt where ip = '"&et ipnummer &" '"
og så skal man på en elelr anden måde
DELETE FROM oversigt WHERE ip = '"&ipnummer&"'
hvor ipnummer kun eksistere en gang i hele databasen oversigt


Kommentar
Fra : snortop


Dato : 01-09-04 17:30

Du ved ikke hvordan man sletter... dog alligevel skriver du en SQL sætning der sletter??

ja.. jeg forstå så ikke spg..

Kommentar
Fra : snortop


Dato : 01-09-04 17:37

Du vil have at den skal tælle dem den sletter før den sletter dem..

Jamen så har du jo også selv haft løsning.. men vist bare ikke helt forstået det selv.

Du tæller dem du vil slette med en select sætning. Lægger dem i en variable.
Derefter slette du dem.. Og nu har du så stadig dem du har slettet i en variable og kan gøre ved det som du ville.

Du skriver
[quote]
"jeg ved bare ikke hvordan man tæller alle poster og derefter sletter dem der kun findes 1 gang"
[/quote]

Jamen den først sætning du har lavet er jo en tælning.
[quote]
sqlcount = "SELECT count(ip) as counted FROM oversigt where ip = '"&et ipnummer &" '"
[/quote]

Den køre du du og få et resultat og ligger i en varaible eller whatever.

Så køre du slette sætningen
[quote]
DELETE FROM oversigt WHERE ip = '"&ipnummer&"'
[/quote]

Så har du da gjort præcis det du selv sagde du vil have den til at gøre... eller hvad???

Men ellers prøv at forklare dit spg på en anden måde.

Kommentar
Fra : claesdamlund


Dato : 16-10-04 17:01

Hvorfor ikke bare dette simple:

sql = "DELETE FROM oversigt WHERE ip in(select ip from oversigt group by ip having count(*) > 1)"

Det kræver dog at dit databaseprogram (MySQL?) understøtter indlejrede forespørgsler i WHERE - ellers så skift til MS SQL, den understøtter sub-selects næsten overalt!

cld


Kommentar
Fra : rpje


Dato : 12-11-04 14:16

Jeg benytter MSDE MSSQL

Denne viser alle der er en af:
------------------------------------
Select A. <Felt xx>, (Select Count(B.<Felt xx>) from <<Tabel>> as B Where B. <Felt xx>=A. <Felt xx>) as antal
From <<Tabel>> As A
Where (Select Count(B. <Felt xx>) from Vejning as B Where B. <Felt xx>=A. <Felt xx>)=1
Group by A.VognmandsNr

Denne Sletter alle der er en af
Undskyld den er lidt langhåret
------------------------------------
While (Select top 1 (Select Count(b. <Felt xx>) from <<Tabel>> as B Where B. <Felt xx>=A. <Felt xx>) as antal
From <<Tabel>> As A
Where (Select Count(B. <Felt xx>) from <<Tabel>> as B Where B. <Felt xx>=A. <Felt xx>)=1
Group by A. <Felt xx>)>0
Begin
Delete
From <<Tabel>>
   Where <Felt xx>=(Select Top 1 <Felt xx>
From <<Tabel>> as A
Where (Select Top 1 Count(B. <Felt xx>)
From <<Tabel>> as B
Where A. <Felt xx>=B. <Felt xx>
Group by A. <Felt xx>)=1)
end


MV.
Peter Jensen


Kommentar
Fra : rpje


Dato : 12-11-04 14:18

Ups jeg prøver igen

Jeg benytter MSDE MSSQL

Denne viser alle der er en af
------------------------------------
Select A. <Felt xx>, (Select Count(B.<Felt xx>) from <<Tabel>> as B Where B. <Felt xx>=A. <Felt xx>) as antal
From <<Tabel>> As A
Where (Select Count(B. <Felt xx>) from Vejning as B Where B. <Felt xx>=A. <Felt xx>)=1
Group by A.VognmandsNr

Denne Sletter alle der er en af
Undskyld den er lidt langhåret
------------------------------------
While (Select top 1 (Select Count(b. <Felt xx>) from <<Tabel>> as B Where B. <Felt xx>=A. <Felt xx>) as antal
From <<Tabel>> As A
Where (Select Count(B. <Felt xx>) from <<Tabel>> as B Where B. <Felt xx>=A. <Felt xx>)=1
Group by A. <Felt xx>)>0
Begin
Delete
From <<Tabel>>
Where <Felt xx>=(Select Top 1 <Felt xx>
From <<Tabel>> as A
Where (Select Top 1 Count(B. <Felt xx>)
From <<Tabel>> as B
Where A. <Felt xx>=B. <Felt xx>
Group by A. <Felt xx>)=1)
end


MV.
Peter Jensen


Kommentar
Fra : rpje


Dato : 12-11-04 14:24

Nå det vil ikke rigtig som jeg vil. Håber du kan bruge det.
MV.
Peter Jensen


Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177428
Tips : 31962
Nyheder : 719565
Indlæg : 6407943
Brugere : 218877

Månedens bedste
Årets bedste
Sidste års bedste