我最近问了这个问题.
我有一个有三个表的关系数据库.第一个包含与第二个相关的id.第二个包含与第三个相关的id.第三个包含我追求的结果.
是否可以使用单个查询来查询第一个表中的id,该表给出了与第三个表相关的所有结果?
我选择的解决方案是:
select*from table1 t1 join table2 t2 on t1.t2ref = t2.id join table3 t3 on t2.t3ref = t3.id
添加where子句以搜索table1中的某些行
其中t1.field ='value'
我的新问题是:
我意识到我也需要插入三个表格.我正在处理的是一个预订系统.是否可以编写一个查询,在查询后直接插入三个表(使用连接?).
我还有另外一个考虑因素是我应该使用事务来确保同时运行两个查询...都发现id是"未保留"然后导致双重预订或者是否有更简单的方法?