Kopirati nepostojeće podatke iz jedne tablice u drugu - MS SQL?

Pozdrav.
S obzirom da nisam nešto na ti sa SQLom imam pitanje i nadam se brzom odgovoru. :slight_smile:

Imam dvije tablice:

ProizvodniNalog
Id, Opis, Naziv
1, bla, blabla
2, bla, blabla
3, bla, blabla
4, bla, blabla
5, bla, blabla

ProfitniCentar
Id, Opis, Naziv
1, bla, blabla
2, bla, blabla
3, bla, blabla
4, bla, blabla
5, bla, blabla
6, bla, blabla
7, bla, blabla

Problem je taj da trebam iz tablice ProfitniCentar ubaciti podatke u tablicu ProizvodniNalog koji ne postoje u tablici ProizvodniNalog, znači u našem slučaju redak 6 i 7. Pitanje je “Kako”?

Možda ovo:

Nešto ovako:

SELECT pc.* FROM ProfitniCentar pc LEFT JOIN ProizvodniNalog pn ON pc.ID = pn.ID
WHERE pn.ID IS NULL

Idem samo pogledati sintaksu za mySQL

Rješeno. U svakom slučaju hvala.

Rješenje

INSERT
	INTO		ProizvodniNalog(
					Id,
					Naziv,
					Opis,
					SatiHala,
					SatiMontaza,
					TrosakMaterijal,
					TrosakUsluga
				)
				(
					SELECT TOP(10)
							pc.Id,
							pc.Naziv,
							pc.Opis,
							0 AS SatiHala,
							0 AS SatiMontaza,
							0 AS TrosakMaterijal,
							0 AS TrosakUsluga
						FROM ProfitniCentar pc
						WHERE NOT EXISTS
								(
									SELECT		Id, Opis, Naziv
										FROM	ProizvodniNalog pn
										WHERE	pc.Id = pn.Id
								)
				)

@Trnac ne trebaš gledat za mysql rješenje mi i jest trebalo za MS SQL

jel se moze ovo napraviti sa IF EXISTS THEN ELSE ?

Nije potrebno, to dodatno komplicira stvari, a ovo gore navedeno riješenje radi bez problema.


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja