What does the = * mean in the where?

4

Good afternoon, I would like you to support me with this. I have a query

select ...
FROM
        DBSosst..SRG_SUMMARY_NAVIGATION,
        SALDOS_prueba1 a
    WHERE  
        GROUP_ID      = 4 and
        STRUCTURE_ID  = 1118 and
        SUMTO_POINT_TIER= 1 and
        POINT_NAME    =* substring(cuenta,1,1)

What exactly means = * in this query. I have never seen this in my life. Toy using sqlserver 2000.

thank you very much

    
asked by Santiago Madrid 07.05.2016 в 00:33
source

2 answers

3

From here , I found a suggestion to replace that with "left join"

The accepted answer says, " Remove this code immediately and replace with a left join " or, in Spanish, something like this: " Delete this code immediately and replace it with a 'left join' ' "

    
answered by 07.05.2016 / 00:41
source
4

The operators *= and =* are a LEFT OUTER JOIN and a RIGHT OUTER JOIN respectively, and should not be used because it is an outdated syntax that is no longer used and is not recommended because it could create confusion with the operator A *= B in transactional SQL (where it would be equivalent to doing A = A*B ). You can read the source here .

In your particular case, it's a RIGHT OUTER JOIN and it would be equivalent to doing something like this (I have not tried it):

SELECT ...
FROM
    DBSosst..SRG_SUMMARY_NAVIGATION
    RIGHT OUTER JOIN SALDOS_prueba1 ON POINT_NAME = SUBSTRING(cuenta,1,1)
WHERE  
    GROUP_ID      = 4 and
    STRUCTURE_ID  = 1118 and
    SUMTO_POINT_TIER= 1 and
    
answered by 07.05.2016 в 01:11