-1

I have this query in MSSQL .. how to convert it into MYSQL query..

CREATE  VIEW DATA_VIEW AS SELECT A.*,B.FIELD_VALUE D1_VALUE,C.FIELD_VALUE D2_VALUE,D.FIELD_VALUE 
C_VALUE FROM DB_DATA A
FULL OUTER JOIN  T_CASE_D1 B ON A.FIELD_ID =B.FIELD_ID AND B.CASE_ID=47758 
FULL OUTER JOIN  T_CASE_D2 C ON A.FIELD_ID =C.FIELD_ID AND C.CASE_ID=47758 
FULL OUTER JOIN  T_CASE_QC D ON A.FIELD_ID =D.FIELD_ID AND D.CASE_ID=47758 
WHERE A.FORM_ID=5 AND IS_ACTIVE='Y'

thanks in advance

SDevloper
  • 1
  • 1

1 Answers1

2

Your where clause is turning the FULL OUTER JOIN into a LEFT JOIN anyway, so you might as well just use that:

CREATE VIEW DATA_VIEW AS 
    SELECT A.*, B.FIELD_VALUE D1_VALUE, C.FIELD_VALUE D2_VALUE, D.FIELD_VALUE AS C_VALUE
    FROM DB_DATA A LEFT JOIN 
         T_CASE_D1 B
         ON A.FIELD_ID = B.FIELD_ID AND B.CASE_ID = 47758 LEFT OUTER JOIN
         T_CASE_D2 C
         ON A.FIELD_ID = C.FIELD_ID AND C.CASE_ID = 47758 LEFT OUTER JOIN
         T_CASE_QC D
         ON A.FIELD_ID  =D.FIELD_ID AND D.CASE_ID = 47758 
    WHERE A.FORM_ID=5 AND IS_ACTIVE = 'Y';

FULL OUTER JOIN is rarely needed in a database with properly maintained foreign key relationships.

Gordon Linoff
  • 1,198,228
  • 53
  • 572
  • 709