Avatar billede suntrip Nybegynder
07. september 2002 - 14:18 Der er 16 kommentarer og
1 løsning

underlig Select

hejsa :)

har et lidt sjovt problem... har ingen ide om hvorfor at den gør det den gør...

har 2 tabeller.. hvor jeg Selecter noget data... den ene tabel angiver nogle ID'er som skal fjernes fra den ande tabel når jeg selecter...

mit output ser således ud

ID

1
3
4
5
6
7
8
9
1
2
3
4
6
7
8
9


hvis man kigger på den første 1-9 så man kan se at der mangler 2 og i den anden mangler 5.... kan ikk forstå hvorfor det lave en slags dobbelt select

det resultat jeg gerne vil have haft var

1
3
4
6
7
8
9

men det får jeg ikk..
Avatar billede esoulman Nybegynder
07. september 2002 - 14:22 #1
må vi se din sql-streng ?
Avatar billede mortenfn Nybegynder
07. september 2002 - 17:59 #2
hvis du har fjernet data (id) kommer der ikke nye data i en gammel id, id er altid fortløbende +1 og mysql holder selv styr på det og det kan du ikke endre

jeg går ud fra at du har Id med autoinsert
Avatar billede suntrip Nybegynder
09. september 2002 - 22:54 #3
hmmm...tror vi har misforstået hinanden eller også er det bare mig :))

så jeg prøver lige igen...

har 2 taballer...

tbl_bruger
col_bruger_id col_brugernavn
1
2
3
4
5

col_bruger_id er auto_increment


tbl_blabla
col_id  col_bruger_id  col_brug_id_som_ikke_skal_med
1            1                    2
2            1                    5 


col_id er auto_increment


SELECT tbl_bruger.col_bruger_id
FROM tbl_bruger , tbl_blabla
WHERE tbl_bruger.col_bruger_id != tbl_blabla.col__brug_id_som_ikke_skal_med

Resultat:
col_bruger_id
1
3
4
5
1
2
3
4

som man kan se... så laver den en slags dobbelt SELECT!?! hvilket gør at jeg ikk for fjernet de 2 bruger_id'er helt som jeg ikk vil have med :((

vil gerne have at resultat blev
bruger_id
1
3
4
Avatar billede suntrip Nybegynder
09. september 2002 - 22:56 #4
hov... kom vidst til at acceptere lidt for hurtigt
Avatar billede mortenfn Nybegynder
09. september 2002 - 23:01 #5
hov du skal du have dem igen
Avatar billede suntrip Nybegynder
09. september 2002 - 23:13 #6
måske.... men hvis du kan hjælpe mig med det.. så er de alle sammen dine :))
Avatar billede mortenfn Nybegynder
09. september 2002 - 23:27 #7
Jeg forstår nu!

jeg tror noget med JOIN og !=

http://www.mysql.com/doc/en/JOIN.html

og

http://www.thorsnet.dk/index.php?m=Scripts&side=vis_script&sefil=mysql%20JOIN

jeg skal meget tidligt op i morgen så jeg må smutte nu, men ellers lad det stå til i morgen
Avatar billede suntrip Nybegynder
09. september 2002 - 23:33 #8
takker :) ... men jeg har prøvet at lege lidt med JOINS hvilket ikke hjalp så meget :((
Avatar billede mortenfn Nybegynder
10. september 2002 - 20:31 #9
har du fået det til at virke i natten og dagens løb
Avatar billede suntrip Nybegynder
10. september 2002 - 21:01 #10
nope.... jeg har prøvet i et par uger.... hvis ikke mere.. og kan bare ikk få det til at virke
Avatar billede mortenfn Nybegynder
10. september 2002 - 21:26 #11
nu er det jo ikke pænt at prale, men http://www.thorsnet.dk/my1.php
Avatar billede suntrip Nybegynder
10. september 2002 - 21:59 #12
hmmm...... ser spændende ud!!! hvordan gjorde du det... :)
Avatar billede mortenfn Nybegynder
11. september 2002 - 22:43 #13
$sql="SELECT tbl_bruger.col_bruger_id FROM tbl_bruger
LEFT JOIN tbl_blabla ON tbl_blabla.col__brug_id_som_ikke_skal_med = tbl_bruger.col_bruger_id
WHERE tbl_blabla.col__brug_id_som_ikke_skal_med IS NULL";

$res = mysql_query($sql);

while($row = mysql_fetch_array($res))echo "$row[col_bruger_id]<br>";
Avatar billede suntrip Nybegynder
12. september 2002 - 18:22 #14
respekt :) det må jeg lige teste engang..... men jeg forstår ikk det her WHERE tbl_blabla.col__brug_id_som_ikke_skal_med IS NULL

hvorfor IS NULL????
Avatar billede suntrip Nybegynder
12. september 2002 - 18:26 #15
har måske lige et ekstra spørgsmål... bare sådan en lille hurtigt et :))

hvad nu hvis jeg vil angive det for en bestemt bruger... altså at jeg kun skal fjerne nogle Id'er for en bestemt bruger....???
Avatar billede mortenfn Nybegynder
13. september 2002 - 20:03 #16
hvis den du laver den unden IS NULL finder den der matcher din join men det er de andre vis skal bruge prøv at lave den uden IS NULL så får du det modsatte resultat - altså det resultat du også fik øverst i spr. 1-3-4 og ikke 2-5

du sletter jo ved at

DELETE FROM tabel WHERE kolonne='$text'
Avatar billede suntrip Nybegynder
16. september 2002 - 23:00 #17
tror lidt at du misforstod mig :)

hvis vi kigger på tabellerne... så er det bruger_id som har fra valgt nogle id'er..... den SELECT du har tryllet frem til mig, den vælger alle id'er ligegyldig hvilken bruger det er :)

så der skal også være noget med 'WHERE tbl_bruger.col_bruger_id = 1' hvis det nu er bruger nr 1 som skal have valgt nogle id'er fra :)
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