我真的很困扰这个查询,我希望有人能帮助。MySQL查询限制结果由子表
我正在查询多个表以获取我需要的数据集。以下查询是匿名版本:
SELECT main_table.id,
sub_table_1.field_1,
main_table.field_1,
main_table.field_2,
main_table.field_3,
main_table.field_4,
main_table.field_5,
main_table.field_6,
main_table.field_7,
sub_table_2.field_1,
sub_table_2.field_2,
sub_table_2.field_3,
sub_table_3.field_1,
sub_table_4.field_1,
sub_table_4.field_2
FROM main_table
INNER JOIN sub_table_4 ON sub_table_4.id = main_table.id
INNER JOIN sub_table_2 ON sub_table_2.id = main_table.id
INNER JOIN sub_table_3 ON sub_table_3.id = main_table.id
INNER JOIN sub_table_1 ON sub_table_1.id = main_table.id
WHERE sub_table_4.field_1 = '' AND sub_table_4.field_2 = '0' AND sub_table_2.field_1 != ''
该查询的工作原理是,我的问题是sub_table_1有一个修订号(int 11)。目前,我得到了不同版本号的副本记录以及不同版本的sub_table_1.field_1,但我想限制结果集仅包含受最新版本号限制的结果,只给我最新的sub_table_1_field_1,而我真的想不出来!
有人能帮我一把吗?
很多谢谢。
编辑您的问题,并提供样本数据和期望的结果。 –