left join, union, mssql
9 отговора
362 прегледа
left join, union, mssql
hi, imam slednia problem:
2 tablici ot koito triabva da izvadia 1 result
[tbl1]
id
name
address
[tbl2]
id
city
state
zip
country
id pri tbl1 otgovaria na id v tbl2
opitah s UNION, bez uspeh; s LEFT JOIN stava, no ne moga da polzvam WHERE
clause neshto (osnovno tuk e problema)... mysql-a e 4.0.10. blagodaria za pomoshtta.
i oshte neshto :)
koi e latest MSSQL i otkyde moga da go drypna? big 10x.
2 tablici ot koito triabva da izvadia 1 result
[tbl1]
id
name
address
[tbl2]
id
city
state
zip
country
id pri tbl1 otgovaria na id v tbl2
opitah s UNION, bez uspeh; s LEFT JOIN stava, no ne moga da polzvam WHERE
clause neshto (osnovno tuk e problema)... mysql-a e 4.0.10. blagodaria za pomoshtta.
i oshte neshto :)
koi e latest MSSQL i otkyde moga da go drypna? big 10x.
Re: left join, union, mssql
select tbl1.*, tbl2.* from tbl1 left join tbl2 using(id) where tbl1.nale = 'alabala'
ако съм те разбрал ко питаш - тва требва да е отговора...и не би трябвало да има много общо с версията на mysql
[линк]
ако съм те разбрал ко питаш - тва требва да е отговора...и не би трябвало да има много общо с версията на mysql
[линк]
Re: left join, union, mssql
Защо ти е join?
На MySQL горния пример би звучал така:
select * from tbl1, tbl2 where tbl1.id = tbl2.id and tbl1.name = 'alabala'
На MySQL горния пример би звучал така:
select * from tbl1, tbl2 where tbl1.id = tbl2.id and tbl1.name = 'alabala'
Re: left join, union, mssql
select * from tbl1, tbl2 where tbl1.id = tbl2.id and tbl1.name = 'alabala'
и
select tbl1.*, tbl2.* from tbl1 left join tbl2 using(id) where tbl1.nale = 'alabala'
не са еднакви заявки !!
първата в общият случай ще даде по-малко резултати (редове)
втората ще връща резултати, за които tbl1 има стаойности на id, които ги няма в tbl2, полетата на tbl2 на такива редове ще са NULL
и
select tbl1.*, tbl2.* from tbl1 left join tbl2 using(id) where tbl1.nale = 'alabala'
не са еднакви заявки !!
първата в общият случай ще даде по-малко резултати (редове)
втората ще връща резултати, за които tbl1 има стаойности на id, които ги няма в tbl2, полетата на tbl2 на такива редове ще са NULL
Re: left join, union, mssql
забравих,
в случая на въпроса не разбрах, кое от двете е нужно
________________
примерче защо не са еднакви заявките
tbl1
----
id -> name
1 -> 'ceco'
2 -> 'pesho'
(тази е примерна работа затова си измислих полето age)
tbl2
----
id -> age
2 -> 15
сега заявката с неявният джойн ако alabala е ceco, няма да върне нищо, а друга заявка с LEFT JOIN-а ще върне
ceco -> NULL
в случая на въпроса не разбрах, кое от двете е нужно
________________
примерче защо не са еднакви заявките
tbl1
----
id -> name
1 -> 'ceco'
2 -> 'pesho'
(тази е примерна работа затова си измислих полето age)
tbl2
----
id -> age
2 -> 15
сега заявката с неявният джойн ако alabala е ceco, няма да върне нищо, а друга заявка с LEFT JOIN-а ще върне
ceco -> NULL
Re: кажи, че си забравил LEFT за да се успокоим
s/Защо ти е join?/Защо ти е LEFT join?
Прав ли съм?
Щото ти предлагаш Inner Join ...
Не, че до момента някой е разбрал какво точно иска
bgy с "2 tablici ot koito triabva da izvadia 1 result"
Може да означава най-разнообразни неща ...
salle.online.bg/sig
Прав ли съм?
Щото ти предлагаш Inner Join ...
Не, че до момента някой е разбрал какво точно иска
bgy с "2 tablici ot koito triabva da izvadia 1 result"
Може да означава най-разнообразни неща ...
salle.online.bg/sig
left [outer] join
както става ясно по-долу, left е съкращение на left outer, така че гуруто е прав че това са различни заявки.
Апропо, MS SQL Server поддържа ли using? Щото в сайбейз анси синтаксиса се поддържа само в последната версия (12.5) и то без using клауза.
This is the ANSI syntax for joining tables:
left_table [inner | left [outer] | right [outer]] join right_table
on left_column_name = right_column_name
Апропо, MS SQL Server поддържа ли using? Щото в сайбейз анси синтаксиса се поддържа само в последната версия (12.5) и то без using клауза.
This is the ANSI syntax for joining tables:
left_table [inner | left [outer] | right [outer]] join right_table
on left_column_name = right_column_name
че е прав - прав е гурото...
идея нямам, до сега не съм го ползвал никъде....
мернах го USING оня ден в хелпа и много ми допадна като синтаксис...
[линк]
мернах го USING оня ден в хелпа и много ми допадна като синтаксис...
[линк]
Re: left join, union, mssql
pyrvata e s inner (natural) join... vtorata s left (outer) joint... razlikata e ogromna...