/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
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
[MySQL 5] Indsætte bruger id fra anden
Fra : Martin


Dato : 10-01-08 12:05

Hej igen og igen og... :)

Ja, man bliver jo nød til at spørge for at få svar, så her kommer endnu en.

Er det muligt at hente 100 bruger ID'er fra en tabel og indsætte dem i
en insert kommando.

Hente de seneste 100 brugere fra tabellen users sorteret på added_date,
dog ikke de brugernumre som allerede eksisterer i users_donated.
Disse 100 skal så indsættes i users_donated (med cost på 30) tabellen

Tabel design
users
ID = int 11 (primær, auto)
added_date = DATETIME

users_donated
user_id = int 11
cost = float 11

Er det noget man kan klare med en "one-liner" eller skal der noget
triggers til eller hvordan?

(Det er et one and only kald der skal laves)
Jeg kunne hurtigt lave det med noget serverscript til, men da jeg nu er
igang med at lære at bruge mysql (som det nok kan ses på mine spørgsmål
her i gruppen) endnu mere end jeg har gjort før, viden er jo altid
dejligt at få fingre :)

 
 
Leif Neland (10-01-2008)
Kommentar
Fra : Leif Neland


Dato : 10-01-08 18:15

Martin skrev:
> Hej igen og igen og... :)
>
> Ja, man bliver jo nød til at spørge for at få svar, så her kommer endnu en.
>
> Er det muligt at hente 100 bruger ID'er fra en tabel og indsætte dem i
> en insert kommando.
>
> Hente de seneste 100 brugere fra tabellen users sorteret på added_date,
> dog ikke de brugernumre som allerede eksisterer i users_donated.
> Disse 100 skal så indsættes i users_donated (med cost på 30) tabellen
>
> Tabel design
> users
> ID = int 11 (primær, auto)
> added_date = DATETIME
>
> users_donated
> user_id = int 11
> cost = float 11
>
> Er det noget man kan klare med en "one-liner" eller skal der noget
> triggers til eller hvordan?
>
Lige rystet ud af ærmet

INSERT INTO users_donated( user_id, cost ) (

SELECT users.id, 30
FROM users
LEFT JOIN users_donated ON ( users.id = users_donated.user_id )
WHERE user_id IS NULL
ORDER BY added_date DESC
LIMIT 100
)

Og så er det endda testet

Leif

Søg
Reklame
Statistik
Spørgsmål : 177429
Tips : 31962
Nyheder : 719565
Indlæg : 6407948
Brugere : 218878

Månedens bedste
Årets bedste
Sidste års bedste