MySQL根据场景调整JOIN

时间:2014-05-02 16:07:24

标签: mysql select join

我有两个具有以下结构的表:

exp_hotel

hot_id | hot_webid | hot_name | hot_starrating | hot_brandbool | hot_latitude | hot_longitude

exp_result

res_id | res_idHotel | res_rank | res_price | res_userRating | res_oldPrice | res_posa | res_date | res_date | res_que_id

res_posa有时会有值' xxx'或价值' yyy'。

如果它的值为' xxx',SELECT应该是这样的:

SELECT * FROM exp_hotel JOIN exp_result ON hot_id = res_idHotel

如果res_posa值是' yyy'而SELECT将是:

SELECT * FROM exp_hotel JOIN exp_result ON hot_webid = res_idHotel

有没有办法如何创建一个查询,它可以直接从MySQL中选择具有正确JOIN结构的所有内容,而无需通过某些PHP数组等等?

1 个答案:

答案 0 :(得分:1)

您可以使用如下的条件连接。

SELECT * FROM exp_hotel JOIN exp_result ON 
(res_posa = 'XXX' and  hot_id = res_idHotel)
OR
(res_posa = 'YYY' and hot_webid = res_idHotel);

嘲弄小提琴here