我有以下关系模型:
- 旅行(id_travel,日期,出发城市,到达城市,nb_places等)
- 步骤(id_step,step_city,id_travel#)
另一方面,我有一个搜索表单,用户必须在其中输入出发城市和到达城市。当他单击搜索时,我必须检索符合以下条件的数据库旅行:
- 相同出发城市(用户输入和travel.departure_city)和相同到达城市(用户输入和travel.arrival_city);
- 用户(输入用户)输入的出发城市是旅行中的一个步骤(step_city)和同一到达城市(用户输入和travel.arrival_city);
- 相同的出发城市(用户输入和travel.departure_city)和用户(输入用户)输入的到达城市是旅行的一个步骤(step.step_city);
- 用户输入的出发(输入用户)和到达输入用户城市是旅行中的步骤(step.step_city)。
示例:
假设在数据库中,我具有从城市A到城市B的旅行,并经过城市C和城市D的旅行。在以下情况下,该旅行必须包括在用户的搜索中:
- 出发地:城市A;到达地:城市B;
- 出发地:城市C或D;到达地:城市B;
- 出发地:A市,到达地:C或D市;
- 出发地:C市,到达地:D市;
是否存在执行此操作的SQL查询?