» »

[SQL] - unique id-ji iz seznama, ki jih ni v tabeli?

[SQL] - unique id-ji iz seznama, ki jih ni v tabeli?

krho ::

Ja vem naslov teme je čuden.

Rabim sinhronizacijo dveh oz. več tabel, Te dabele so lahko v različnih bazah! TRIGGERji ne pridejo v poštev!
Imam seznam id-jev iz ene tabele, sedaj pa rabim SQL, ki bo iz teh id-jev vrnil tiste, ki jih v drugi tabeli ni.

Primer: id-ji:3,9,10,11,12,13,14,15,16,243,250,262
v drugi tabeli manjka id-ja 262 in 3, torej mora query vrniti 3 in 262

Tole vrne pač vse razen 3 in 262, če damo pred IN NOT, potem vrne vse razen tistega v IN logično pač
SELECT idMsg FROM msgInfo WHERE idMsg IN(3,9,10,11,12,13,14,15,16,243,250,262)
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

kopernik ::

Mogoče z operacijami tipa union, intersect, ipd., (saj veš, množice) ?

Poglej tukaj

in

tukaj, ansi sql

kopernik ::

Še primer za mysql

frudi ::

recimo select za IDje, ki so v Tabela2 in ne v Tabela1:

SELECT ID1 FROM Baza1.Tabela1
WHERE NOT EXISTS(SELECT ID2 FROM Baza2.Tabela2 WHERE Baza1.Tabela1.ID1 = Baza2.Tabela2.ID2)

to dela v MS SQL, za druge ne vem :)
1ACDoHVj3wn7N4EMpGVU4YGLR9HTfkNhTd... in case I've written something useful :)

krho ::

Problem je v tem, da imam jaz array id-jev, ker tabeli nista v isti bazi.:'(
In na žalost ne morem narediti takega query-a.
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

Zgodovina sprememb…

  • spremenil: krho ()

frudi ::

kako nista v isti bazi? načeloma lahko delaš tudi selecte med tabelami, ki so na različnih serverjih...
razen če v tvojem primeru sploh nista na isti vrsti db providerja (recimo da je ena na ms sql, druga pa na oraclu ali kaj takega)?

pa tudi če sta na različnih providerjih, lahko na sql serverju narediš eno pomožno tabelo, v katero pač uvoziš samo IDje.
1ACDoHVj3wn7N4EMpGVU4YGLR9HTfkNhTd... in case I've written something useful :)

McAjvar ::

morda kaj v stilu
SELECT "id" FROM "tabela" WHERE "id" NOT IN ('1', '2', '3');
tisto vsebino v oklepaju bos pa ze iz arraya spravil v en string, kot izgleda zgoraj? tole izbere vse, kjer id ni 1, 2 ali 3.
to dela v pgsqlu, kaj drugega pa ne poznam prav dosti :)
"[...] the advance of civilization is nothing
but an exercise in the limiting of privacy."
- Isaac Asimov

krho ::

v bistvu jest rabim vedet katerih IZ arraja ni v bazi.

McAjvar: tvoj qverj bo pa vrnil iz tabele vse IDje razen tistih v qveriju
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

frudi ::

pa sej ti pravim - naredi si eno začasno ali pa pomožno tabelo, v njo vpiši IDje iz arraya in uporabi tisti select, ki sem ti ga napisal prej. za razliko od IN/NOT IN ta select deluje 'v obe smeri', se pravi lahko komot zamenjaš vlogi tabel v njem in tako iščeš manjkajoče IDje ali v prvi ali pa v drugi tabeli.
1ACDoHVj3wn7N4EMpGVU4YGLR9HTfkNhTd... in case I've written something useful :)

krho ::

frudi: bom poizkusil po tvojem nasvetu. Da vidim kako hitro bo vse skupaj. Ker rabim zelo hiter synchronize.
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Normalizirana struktura - query

Oddelek: Programiranje
191650 (1270) frudi
»

Large database

Oddelek: Programiranje
161354 (1052) krho
»

MYSQL vprašanje

Oddelek: Programiranje
131676 (1291) MrBrdo
»

Težave z array

Oddelek: Izdelava spletišč
71219 (1031) Kricert
»

Kaj je narobe tu...(php)

Oddelek: Programiranje
51137 (1035) teac

Več podobnih tem