Select t3.* from table1 t1
left join table2 t2 on t1.id_traslado=t2.id_traslado
inner join table3 t3 on IFNULL(t2.id_traslado,t3.id_traslado=t1.id_traslado,t3.id_pasajero=t2.id_pasajero)
我有一个与此类似的查询,但是显然它不会起作用,是否有任何方法可以将第二张表与不同列连接起来,取决于第二张表是否包含任何结果?
编辑:
表的列如下:
t3 ===> id_reserva id_prestacion id_traslado(NULL)id_pasajero(NULL)
t2(NULL)===> id_traslado id_pasajero
t1 ===> id_traslado
如果t2不为null,则不会退出t3和带有id_traslado的t1之间的关系,而将其替换为带有id_pasajero的t2和t3关系
答案 0 :(得分:0)
使用这种加入方式希望不需要检查tabl2数据是否存在
GridLayout.LayoutParams param= new GridLayout.LayoutParams(GridLayout.spec(
GridLayout.UNDEFINED,GridLayout.FILL,1f),
GridLayout.spec(GridLayout.UNDEFINED,GridLayout.FILL,1f));
param.height = 0;
param.width = 0;
LinearLayout card = new LinearLayout(getContext());
答案 1 :(得分:0)
尝试一下:
Select * from table1 t1
inner join table3 t3 on t1.columnaux1=t3.columnaux1
left join table2 t2 on t3.columnaux2=t2.columnaux2