Dali moshe ...

10 отговора 442 прегледа
#1

Dali moshe ...

IZkam da obedinja 2 tabl s ednakvi koloni, no izkam da se sravnjavat dali se povtarjat, kato se izbere njakakuv kriterii ( 1 - na ot kolonite da sudursha kriteri), naprimer ime ili egn ... i t.n


Отговор
в отговор на tri4ko #2

Re: Dali moshe ...

ne mi stana mnogo qsno kakvo pita6 - q dai malko kod. NE6to sys SELECT DISTINKT i GROUP BY ne ti li vyr6i rabota?


music non stop

Отговор
в отговор на voyager #3

Re: Dali moshe ...

Zna4i .. kum edna tablisa da pribavja dr ( da gi obedinja), kato ako ima povtarjashti se EGN-ta, zapisite ot purvata da ostanat , a ot 2-rata da ..... de da zanm .. dali mogat da se zapisaht v dr file ?!


Отговор
в отговор на voyager #4

Re: Dali moshe ...

moshe li neshto takova : (Tabl sa s ednakvi koloni sudurshat ime, adres, grad, egn i t.n.)

select * from tabl1 union all select * form table2
where distinct (EGN);

t.e. izkam tezi s ednakvi egn-ta ot table 2 da ne se vklu4vat v union-a. ()
Jasno mi e 4e e greshno, no kak bi trjabvalo da e sintaxisa ili ima njakakuv dr na4in ....??

Отговор
в отговор на tri4ko #5

Re: Dali moshe ...

za syjalenie rqdko pravq takiva ne6ta, taka 4e moje i da sbyrkam sintaksisa, ama sys sigurnost nqkoi tuka 6te me popravi. No mislq 4e na4ina e tova:

SELECT * FROM table1 LEFT JOIN table2 WHERE table1.egn!=table2.egn AND table1.adres!=table2.adres AND ...
Siguren sm 4e byrkam sintaksisa, no ideqta e ne6to takova. Ako nikoi ne se namesi, dove4era 6te metna edno oko na SQL-a i i=utre 6te ti kaja


дао дъ дзин

Отговор
в отговор на tri4ko #6

Re: Dali moshe ...

А защо не махнеш ALL от UNION?

salle.online.bg/sig
Отговор
в отговор на voyager #7

Re: Dali moshe ...

table1.egn!=table2.egn

На практика няма никакъв смисъл при никакъв JOIN

Ако имаш

t1.id
1
2
3

t2.id
2
3
4

Горното т.е.

select ... where t1.id != t2.id

ще ти върне:

1 2
1 3
1 4
2 3
2 4
3 2
3 4

Мисли по следния начин (наум):
1. Обединяваме всеки ред от едната таблица.
2. Махаме редовете, които не отговарят на условието.

salle.online.bg/sig
Отговор
в отговор на salle #8

Re: Dali moshe ...

Ако го разбирам правилно, махането на ALL няма да му реши проблема защото той не иска просто обединение без повторения, а без повторение само на едно или няколко полета.
Така че, въпроса му е неопределен. Какво значи обединение? Какво да се получи, ако например и в двете таблици има запис с едно и също ЕГН, но се различават напр. имената и/или децата и/или жените и/или .... и т.н.?

tri4ko,
ако искаш напр. да добавиш към t1 всички записи от t2, за които t2.egn го няма в t1.egn пробвай това:
insert into t1 select * from t2 where not exists (select * from t1 where t1.egn=t2.egn)
За съжаление, това май няма да върви в MySQL, но salle може би ще ти помогне да го адаптираш, ако ти трябва.

Отговор
в отговор на salle #9

Re: Dali moshe ...

da we, ama toi nali kaza, 4e mu trqbvat vsi4ki redove ot ednata tablica. Samo sys select nqma li da otsystvat tezi, za koito tbl1.egn!=tbl2.egn?

Отговор
в отговор на salle #10

Re: Dali moshe ...

Ako mahna all naistina njama da se vkuli4at povtarjashtite se zapisi, no samo ako sa absolutno identu4ni. Taka 4e nevurvi...shtoto :
2 tabl s po 5 reda (primerno ... mislja na um... :))
kum 1-vata tablisa izkam da subera 5-te reda na 2-rata, bez povtarjashtite se.
Da ama moshe imenata da sa izpisani po razl. na4in,. adresi i t.n . zatova izkam da gi sravnjam po EGN ( to trjabva da e unikalno)./ Ta zatova neznam kak to4no trjabva da stane ....

PLS......

Отговор
в отговор на tri4ko #11

Re: Dali moshe ...

group by EGN

salle.online.bg/sig
Отговор