Ger_Sergey
Новичок
Сложные запросы MySQL. Как выполнить одним запросом?
Есть 3 таблицы. T_А, T_B и T_C.
В T_А есть поля Code_А, Code_B, Code_C .
Причем в каждой строке Code_B=0 или Code_C=0.
Надо построить таблицу из значений: Code_А, Code_B, B_name, Code_C, C_name.
Если Code_B=0, то выводится строка из T_А и C_name, B_name =" "
иначе если в T_А Code_B >0 ,
из T_B определяется B_name и Code_C= T_B.Code_C и из T_C C_name=T_C.C_name.
Двумя запросами я строю нужную мне таблицу.
---------------------------------------------------------
SELECT T_A.Code_A, T_A.Code_B,T_A.Code_C,T_C.C_name
FROM T_A,T_C
WHERE T_A.Code_C= T_C.Code_C
AND T_A.Code_B=0;
---------------------------------------------
SELECT T_A.Code_A, T_A.Code_B,
T_B.B_name,T_A.Code_C,T_C.C_name
FROM T_A, T_B ,T_C
WHERE T_A.Code_B= T_B.Code_B
AND T_B.Code_C= T_C.Code_C
AND T_A.Code_B>0;
------------------------------------------
Как выполнить это одним запросом?
Есть 3 таблицы. T_А, T_B и T_C.
В T_А есть поля Code_А, Code_B, Code_C .
Причем в каждой строке Code_B=0 или Code_C=0.
Надо построить таблицу из значений: Code_А, Code_B, B_name, Code_C, C_name.
Если Code_B=0, то выводится строка из T_А и C_name, B_name =" "
иначе если в T_А Code_B >0 ,
из T_B определяется B_name и Code_C= T_B.Code_C и из T_C C_name=T_C.C_name.
Двумя запросами я строю нужную мне таблицу.
---------------------------------------------------------
SELECT T_A.Code_A, T_A.Code_B,T_A.Code_C,T_C.C_name
FROM T_A,T_C
WHERE T_A.Code_C= T_C.Code_C
AND T_A.Code_B=0;
---------------------------------------------
SELECT T_A.Code_A, T_A.Code_B,
T_B.B_name,T_A.Code_C,T_C.C_name
FROM T_A, T_B ,T_C
WHERE T_A.Code_B= T_B.Code_B
AND T_B.Code_C= T_C.Code_C
AND T_A.Code_B>0;
------------------------------------------
Как выполнить это одним запросом?