Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何使用一个查询查询三个相关表_Mysql_Join - Fatal编程技术网

Mysql 如何使用一个查询查询三个相关表

Mysql 如何使用一个查询查询三个相关表,mysql,join,Mysql,Join,下面有三张表。这种关系是,每个报告参数和报告频率使用中间表报告频率映射绑定在一起。是否可以构造SQL,以便用户可以使用诸如frequency='daily'之类的约束而不是frequency='1'来选择所有报告参数行 谢谢, -彼得 尝试使用JOIN连接表: SELECT report_params.* FROM report_params JOIN report_freq_map ON report_id = report_params.id JOIN report_frequency ON

下面有三张表。这种关系是,每个报告参数报告频率使用中间表报告频率映射绑定在一起。是否可以构造SQL,以便用户可以使用诸如frequency='daily'之类的约束而不是frequency='1'来选择所有报告参数行

谢谢, -彼得


尝试使用
JOIN
连接表:

SELECT report_params.*
FROM report_params
JOIN report_freq_map ON report_id = report_params.id
JOIN report_frequency ON freq_id = report_frequency.id
WHERE frequency = 'daily'

(如果您希望允许多个频率,或者您可能有重复的条目,请在选择后添加DISTINCT)

一个表中有两个主键?“我以前没见过。”约翰:你看错了。不是两个主键,而是一个由两列组成的主键。啊,好的。谢谢伊顿公学和贾斯珀。
SELECT report_params.*
FROM report_params
JOIN report_freq_map ON report_id = report_params.id
JOIN report_frequency ON freq_id = report_frequency.id
WHERE frequency = 'daily'
SELECT report_params.id, test_level, sequence_name, step_name, descriptions
FROM report_params
JOIN report_freq_map
ON report_params.id = report_id
JOIN report_frequency
ON freq_id = report_frequency.id
WHERE frequency = 'daily'