Avatar billede Scriptstudio Nybegynder
16. april 2012 - 19:27 Der er 15 kommentarer og
1 løsning

SQL forespørgsel

Er der nogle der kan fortælle om den her forespørgsel kommer til at virker og evt. hvad jeg skal insætte ved det første felt zip bare for at på 1 2 3 4 5 osv. derned af?

SELECT skadate_location_country.Country_str_code, skadate_location_state.Admin1_str_code, skadate_location_city.Feature_int_id, skadate_location_city.Feature_dec_lat, skadate_location_city.Feature_dec_lon
INSERT INTO skadate_location_zip (zip,country_id,state_id,city_id,latitude,longitude)
VALUES ('','Country_str_code','Admin1_str_code','Feature_int_id','Feature_dec_lat','Feature_dec_lon')


Meningen er jeg vil samle nogle data fra de forskellige database i SELECT linjen også indsætte dem i skadate_location_zip..
Avatar billede arne_v Ekspert
16. april 2012 - 19:29 #1
Syntaxen plejer at vaere:

INSERT INTO nytabel (felt1, ...) SELECT felt1,... FROM gltabel WHERE ...
Avatar billede Scriptstudio Nybegynder
16. april 2012 - 19:37 #2
mening er jeg har denne tabel skadate_location_zip

Den har disse rows.
zip
country_id
state_id
city_id
latitude
longitude

Så er det jo så at jeg gerne vil kopier ind holdet fra fra de andre tabler over i skadate_location_zip.

hvordan vil det se ud hvis du kan lave et ekspempel?

hvis du forstår hvor jeg vil hen med det..
er ikke så god indenfor programmering.
Avatar billede arne_v Ekspert
16. april 2012 - 19:39 #3
en eller flere SQL saetninger som i #1
Avatar billede Scriptstudio Nybegynder
16. april 2012 - 19:41 #4
en for hver data der skal udtrækkes fra de forskellige skal indsætte sammen på samme linje i skadate_location_zip..
Avatar billede arne_v Ekspert
16. april 2012 - 19:53 #5
Hvis du skal hente data til samme raekke fra forskellige tabeller skal du lave en JOIN i din SELECT del.
Avatar billede Scriptstudio Nybegynder
16. april 2012 - 19:56 #6
hvordan vil det komme til at se ud hvis jeg ønkser at skadate_location_zip skal komme til at se sådan her ud?


('1','Country_str_code','Admin1_str_code','Feature_int_id','Feature_dec_lat','Feature_dec_lon')
('2','Country_str_code','Admin1_str_code','Feature_int_id','Feature_dec_lat','Feature_dec_lon')
('3','Country_str_code','Admin1_str_code','Feature_int_id','Feature_dec_lat','Feature_dec_lon')
('4','Country_str_code','Admin1_str_code','Feature_int_id','Feature_dec_lat','Feature_dec_lon')
Avatar billede arne_v Ekspert
16. april 2012 - 20:12 #7
Det afhaenger jo af hvordan de eksisterende tabeller ser ud.
Avatar billede Scriptstudio Nybegynder
16. april 2012 - 20:17 #8
SELECT Feature_int_id, Feature_dec_lat, Feature_dec_lon
FROM skadate_location_city
INSERT INTO `skadate_location_zip`(`zip`, `country_id`, `state_id`, `city_id`, `latitude`, `longitude`)
VALUES ('','DK','','Feature_int_id','Feature_dec_lat','Feature_dec_lon')

tror den skal se nogen lunde sådan har ud. den virker så bare ikke..
Avatar billede arne_v Ekspert
16. april 2012 - 20:30 #9
Har du laest #1 ??
Avatar billede arne_v Ekspert
16. april 2012 - 20:31 #10
maaske

INSERT INTO `skadate_location_zip`(`zip`, `country_id`, `state_id`, `city_id`, `latitude`, `longitude`)
SELECT '','DK',Feature_int_id, Feature_dec_lat, Feature_dec_lon
FROM skadate_location_city
Avatar billede Scriptstudio Nybegynder
16. april 2012 - 20:40 #11
Så får jeg denne besked.

#1136 - Column count doesn't match value count at row 1
Avatar billede Scriptstudio Nybegynder
16. april 2012 - 20:48 #12
den her den virkede bortset fra en der hvor jeg har sat * ved der skal den bare tælle op fra 1 2 3 af.

INSERT INTO `skadate_location_zip` (`zip`, `country_id`, `state_id`, `city_id`, `latitude`, `longitude`)
SELECT  `*`,`Admin1_str_code`,`*`, `Feature_int_id`, `Feature_dec_lat`, `Feature_dec_lon`
FROM `skadate_location_city`
Avatar billede arne_v Ekspert
16. april 2012 - 20:49 #13
Ja. Der skal bruges 6 kolonner i INSERT og SELECT returnerer kun 5.

Proev:

INSERT INTO `skadate_location_zip`(`zip`, `country_id`, `state_id`, `city_id`, `latitude`, `longitude`)
SELECT '','DK','',Feature_int_id, Feature_dec_lat, Feature_dec_lon
FROM skadate_location_city
Avatar billede arne_v Ekspert
16. april 2012 - 20:52 #14
Hvis du vil auto incrememente, saa skal du fjerne kolonnen fra baade INSERT og SELECT og saa saette AUTO_INCREMENT paaa kolonnen i tabellen.
Avatar billede Scriptstudio Nybegynder
16. april 2012 - 20:55 #15
Det er iorden tak for hjælpen nu kører det, nu skal jeg bare have skrevet 4400 postnumre ind i min database, puha..

Smid et svar og tak igen.
Avatar billede arne_v Ekspert
16. april 2012 - 21:02 #16
svar
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