• 2 odgovora
  • 2.406 pregleda
insert into ... not in 13.09.2006. u 09:07 · pre 244 meseci #1
Pozdrav!


S obzirom da nisam bas na ti sa bazama, javljaju mi se problemi za problemom! :(


Imam nekakav view i identicnu tablicu kao sto je view. U view-u imam nekakve podatke i trebam napraviti insert podataka koji se ne nalaze u tablici.

npr.

view i tablica imaju polja

Id - PK
ime
prezime



Eto molim vas ako netko zna kako ovo rijesiti bio bih zahvalan! :)

na netu-u sam nasao nesto, ali meni to ne radi! :(

INSERT INTO tbl_catergory (scat1,scat2,distributor)
SELECT (scat1,scat2,distributor)
FROM tbl_product
WHERE (scat1 NOT IN
(SELECT scat1
FROM tbl_product) AND scat2 NOT IN
(SELECT scat2
FROM tbl_product) AND distributor NOT IN
(SELECT distributor
FROM tbl_product)
Re: insert into ... not in 13.09.2006. u 09:52 · pre 244 meseci #2
S obzirom da imas primarni kljuc nad tabelom onda
Code:

INSERT INTO tablica (id, ime, prezime)
SELECT id, ime prezime
  FROM pogled
 WHERE NOT id IN (SELECT id
                    FROM tablica)


Ako zanemaris postojanje primarnog kljuca onda mozes probati
Code:

INSERT INTO tablica (id, ime, prezime)
SELECT id, ime prezime
  FROM pogled
 WHERE NOT (id, ime, prezime) IN (SELECT id, ime, prezime
                                    FROM tablica)

Potpis
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
Re: insert into ... not in 13.09.2006. u 10:24 · pre 244 meseci #3
I ja sam malo gledao i dosao sam do ovoga!

Ovo sto si napisao sa primarnim kljucem, ali kod sa zanemarenim kljucem mi ne radi, pa sam malo google-a i došao do rješenja! :)


Evo primjera:

INSERT INTO Osobe2
(Ime, Prezime)
SELECT Ime, Prezime
FROM Osobe
WHERE NOT EXISTS(
SELECT Ime, Prezime
FROM Osobe2
WHERE Osobe.Ime = Osobe2.Ime
AND Osobe.Prezime = Osobe2.Prezime)

Znači meni treba svi rekordi iz jedne tablice, koji nisu u drugoj da ih tamo insertiram! ;)

U svakom slučaju hvala i ako se ovo možda može na drugačiji način riješiti samo dajte!


Tnx, pozdrav!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme