用于从数据库中的多个表检索数据的SQL语句

用于从数据库中的多个表检索数据的SQL语句,sql,Sql,我正在尽力解释这个问题。我们有5个表M1、M2、M3、M4、M5,毕竟所有表中只有一个公共字段M_ID。此外,M_ID将具有不同的值。因此,我的要求是一次检索与单个M_ID相关的记录 示例:如果M_ID值为1、2、3、4等,那么对于每个SQL select,我只需要检索一个M_ID值的记录 M1 Table: M_ID,F1,F2 M2 Table: M_ID,F3,F4 M3 Table: M_ID,F5,F6 F*是可以重复多次的字段。所以我也需要处理数据冗余。每个表包含10多个字段,因此

我正在尽力解释这个问题。我们有5个表M1、M2、M3、M4、M5,毕竟所有表中只有一个公共字段M_ID。此外,M_ID将具有不同的值。因此,我的要求是一次检索与单个M_ID相关的记录

示例:如果M_ID值为1、2、3、4等,那么对于每个SQL select,我只需要检索一个M_ID值的记录

M1 Table: M_ID,F1,F2
M2 Table: M_ID,F3,F4
M3 Table: M_ID,F5,F6
F*是可以重复多次的字段。所以我也需要处理数据冗余。每个表包含10多个字段,因此我可以使用Select*?

试试这个

SELECT M1.F1,M1.F2
       M2.F3,M2.F4,
       M3.F5,M3.F6
FROM M1 INNER JOIN M2 ON M1.M_ID = M2.M_ID
        INNER JOIN M3 ON M1.M_ID=M3.M_ID
WHERE M1.M_ID = @ID_PARAM

以此类推……(我只对您的问题中的3个表格进行了此操作)

您好,谢谢您的回答……我能否检索到仅与一个M_ID相关的记录?是的。请参阅我的更新答案。只需传递要重新驱动记录的id值,以代替上面查询中的
@id\u PARAM
。id值应该是动态的…我将此查询放置在一个界面中,它将自动执行。。。