Tema: Re: MSSQL LEFT JOIN - WTF?
Autorius: Jornada Del Muerto
Data: 2011-11-24 12:00:22
Nu tai taip ir turetu but beje ne vien MSSQL su kiek irasas randa kad gali susijungt is pirmos lentos su tiek ir susijungia, jei nori rinkt tik viena kazkoki tai cia gal kazko tokio reiketu:


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


P.S. Toks Left Join elgesys normalu, pvz butu.:

PREKES { id, name, price }
PARDAVIMAI { date,  quntity, customer }

Na tai join darydamas istrauki prekes info ir pardavimus, join tam ir yra kad sujungt duomenis, siuo atveju su kiekviena preke istrauktu ju pardavimus.

JDM.





"NicMC" <jzs@freemail.lt> wrote in message news:jal3rj$d0$1@trimpas.omnitel.net...
> Sveiki,
> 
> SELECT COUNT(1) FROM TABLE1
> 
> nelygu
> 
> SELECT COUNT(1) FROM TABLE1 T1 LEFT JOIN TABLE2 T2 ON T1.FIELD=T2.FIELD
> 
> TABLE2 lentoj gali būti keli joino sąlygą atitinkantys įrašai, jie ir 
> parodomi, kiek suprantu.
> 
> Klausimo esmė - ar čia MySQL'as toks nestandartinis, kad LEFT JOIN'e 
> duoda tik vieną atitinkantį įrašą iš antros lentos, ar čia MSSQL keistai 
> elgiasi su joinais?