关于mysql查询的一个问题

假设有两张表
表A 班次表
Id title chufa_id mudi_id
Id 标题 出发地id 目的地id

表B地点表
Id title
Id 标题

怎么在查班次信息时 同时将对应的出发地,目的地标题查出来呢?有好方法么

阅读 2.3k
2 个回答

SELECT
b.title,
d1.title,
d2.title
FROM
banci b
JOIN didian d1 ON b.chufa_id = d1.id
JOIN didian d2 ON b.mudi_id = d2.id
banci 为班次表
didian为地点表

按照当前描述:

  1. 查询班次表A;

2.从1结果中获取 chufa_id mudi_id;

3.select * from B where id in (chufa_id1, mudi_id1, chufa_id2, mudi_id2, ...)

上述需求通常是分页查询的,in条件中id不会太多;而且in会去重查询;利用主键查询效率更快

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题