MySQL Join具有先前连接的条件

时间:2018-07-26 10:30:48

标签: mysql

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关系

2 个答案:

答案 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