Tema: Re: MSSQL LEFT JOIN - WTF?
Autorius: rl
Data: 2011-11-24 12:54:05
SELECT * FROM TABLE T1
	OUTER APPLY (SELECT TOP 1 * FROM TABLE2 T2 WHERE T1.F1=T2.F2) T2

O del MySQL tai nori pasakyti, kad nurodai apytikslia LEFT JOIN salyga, 
ir tau prijoin'ina viena kazkuri atsitiktini irasa is keliu galimu?
Kazkaip netikiu...

On 2011.11.24 12:27, NicMC wrote:
> Gaila. Daug mieliau tai veikia MySQL. Nes tokiu atveju "INNER JOIN T2 ON
> T1.F1=T2.F2" yra ne kas kita, kaip "LEFT JOIN T2 ON T1.F1=T2.F2 WHERE
> T2.F2 IS NOT NULL"
>
>
>> SELECT * FROM TABLE1 T1 LEFT JOIN ( -- tipo cia distinct isrenki tik
>> po viena reiksme tam tikro lauko SELECT DISTINCT
>> [laukas_pagal_kuri_norima_kad_nesikartotu] XX FROM TABLE2 T2 ) T2 ON
>> T1.Laukas = T2.XX
>
>
> Su sąlyga, kad man reikia BET KOKIOS laukų 2,3,4 ir 5 reikšmės kai
> laukas 1 lygus kitos lentelės laukui gaunasi ppc:
>
> SELECT * FROM (
> SELECT F1,
> (SELECT TOP 1 F2 FROM T2 TX WHERE TX.F1=T.F1) F2
> ir t.t.
> FROM (SELECT DISTINCT F1 FROM T2) T)
>
> Ir tik šitą krakoziabrą prijoinint prie pirmos lentos? mda....