Avatar billede dadane Novice
02. marts 2001 - 18:42 Der er 13 kommentarer og
1 løsning

Oprette resten

Jeg har to tabeller tabel1 og tabel2.

tabel1 indeholder
tabel1ID
Navn
Status

tabel2 indeholder
Tabel2ID
Tabel1ID
Bil

Status kan være 0 (har ingen bil) eller 1 (har bil).
Jeg har nu oprettet en masse mennesker med og uden bil i tabel1. Tabel2 er (grundet scriptfejl) ikke fyldt rigtig ud.
Hvordan tilføjer jeg nemmest et post til tabel2 for alle de felter der \"mangler\" en med teksten \"ukendt\"? (Dvs med alle de der har en bil, men hvor jeg ikke har fået skrevet hvilken)

/DaDane
Avatar billede netsrac Praktikant
02. marts 2001 - 18:44 #1
Sæt standard værdi til ukendt.
Avatar billede dadane Novice
02. marts 2001 - 18:46 #2
Det virker vidst ikke helt gør det?

Jeg vil kun have et element i tabel2 hvis status=1 i tabel1
Avatar billede netsrac Praktikant
02. marts 2001 - 18:47 #3
Nej, jeg forstod det bare ikke på den måde.
Avatar billede dadane Novice
02. marts 2001 - 18:51 #4
En måde at gøre det på er måske at lave mængde subtraktioner - hvis man kan det. Altså

INSERT INTO tabel2 (bil) values (\'ukendt\') WHERE (tabel1.status=1) % (eksistere i tabel2)

Men hvordan?
Avatar billede codebase Praktikant
02. marts 2001 - 18:57 #5
$find=mysql_query(\"SELECT * FROM tabel1 WHERE status =\'1\');
while ($ud= mysql_fetch_array($find)) {
  extract($ud);
  mysql_query(\"INSERT INTO tabel2b (bil) VALUES (\'$BLA\')\");
}

_codeb@se.
Avatar billede codebase Praktikant
02. marts 2001 - 18:58 #6
skulle være et svar :)

_codeb@se.
Avatar billede dadane Novice
02. marts 2001 - 19:08 #7
Kan man få det i asp?
Avatar billede codebase Praktikant
02. marts 2001 - 19:09 #8
kender ikke noget til ASP sorry.....

_codeb@se.
Avatar billede netsrac Praktikant
02. marts 2001 - 19:12 #9
Ja det fås også i ASP

set rs = conn.execute(\"SELECT * FROM tabel1 WHERE status =\'1\';\")

do until rs.eof
conn.execute(\"INSERT INTO tabel2b (bil) VALUES (\'ukendt\')\")
loop
Avatar billede dadane Novice
05. marts 2001 - 08:14 #10
Netsrac sætter det ikke bil=\"ukendt\" for _alle_ dem der har status 1 og ikke kun dem der har status 1 og hvor variablen bil ikke er sat endnu?

/DaDane
Avatar billede netsrac Praktikant
05. marts 2001 - 08:36 #11
Jo jeg skrev bare det samme som codebase, bare i ASP.
Avatar billede rasmusmoller Nybegynder
31. august 2001 - 22:00 #12
Håber jeg har fanget pointen korrekt, og du derfor kan bruge følgende SQL:

Jeg antager at feltet Tabel2.Tabel2ID er en eller anden for for autogenereret id.

INSERT INTO Tabel2 (Tabel1iID Bil)
SELECT (Tabel1ID, \'ukendt\')
FROM Tabel1
WHERE (Tabel1.Status = 1)    -- har bil
  AND (Tabel1.Navn IS NULL)  -- men ikke indtastet bilnavn
Avatar billede rasmusmoller Nybegynder
31. august 2001 - 22:02 #13
Undskyld, rettes til: (gik lidt hurtigt...)

INSERT INTO Tabel2 (Tabel1ID, Bil)
SELECT Tabel1ID, \'ukendt\'
FROM Tabel1
WHERE (Tabel1.Status = 1)    -- har bil
  AND (Tabel1.Navn IS NULL)  -- men ikke indtastet bilnavn
Avatar billede dadane Novice
18. februar 2002 - 22:33 #14
Perfekt, jeg kom lidt fra det (det er godt nok længe siden jeg har oprettet dette sp) såe...

Iøvrigt har jeg taget en SQL kursus i mellemtiden, men rasmusmoller fortjener i hvert fald pointene

Sorry for en lang responsetid.
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