有A,B,C三个表,
A表有字段a1、a2、a3
B表有字段b1、b2、b3
C表有字段c1、c2、c3、c4、c5
要求:
select * from A where A的查询条件
如果 A.a1字段的值=1,A.a2字段的值=5,则外联接B表,链接条件为A.a3=B.b1
如果 A.a1字段的值=2或3,则外联接C表,链接条件为A.a3=C.c2
查询结束后,如果A表记录为0,则显示错误error1,如果B表记录为0,则显示错误error2,如果C表记录为0则显示错误error3,如果B.b2的值=0,则显示错误error4,如果C.c5的值=1,则显示错误error5--------------------------------------------------------------------------
请问以上要求可以写在一个SQL语句里吗?怎么写?如何分别判断错误?
A表有字段a1、a2、a3
B表有字段b1、b2、b3
C表有字段c1、c2、c3、c4、c5
要求:
select * from A where A的查询条件
如果 A.a1字段的值=1,A.a2字段的值=5,则外联接B表,链接条件为A.a3=B.b1
如果 A.a1字段的值=2或3,则外联接C表,链接条件为A.a3=C.c2
查询结束后,如果A表记录为0,则显示错误error1,如果B表记录为0,则显示错误error2,如果C表记录为0则显示错误error3,如果B.b2的值=0,则显示错误error4,如果C.c5的值=1,则显示错误error5--------------------------------------------------------------------------
请问以上要求可以写在一个SQL语句里吗?怎么写?如何分别判断错误?
B.b2的值=0,则显示错误error4
C.c5的值=1,则显示错误error5如果3个条件都成立就显示error1+error4+error5?
union all
select a.* from A left join C on A.a3=C.c2 where A.a1 in(2,3)
请问A本身的“where A的查询条件”写在哪里?
(select a.* from A left join B on A.a3=B.b1 where A.a1=1 and A.a2=5
union all
select a.* from A left join C on A.a3=C.c2 where A.a1 in(2,3)
) a where A的条件,
这样好像没有什么意义,你分支判断吧。
select * from A left/right join B on .