繁体   English   中英

将三个查询合并为一个

[英]Combining three queries into one

我有三个非常简单的查询,我相信可以在一个查询中完成,但我无法弄清楚。 以下是查询:

$idSQL = "SELECT website_id FROM websites WHERE website_url = :webURL LIMIT 1

$featureSQL = "SELECT feature_id FROM feature_website WHERE website_id = :webID";

$sql = "SELECT feature_name, feature_start, feature_end, feature_headline, feature_text,  feature_photoHor, feature_photoVert, feature_photoSquare FROM features WHERE feature_id = :featID";

这给了我预期的输出: 在此输入图像描述

所以,我试图将查询(可能使用不正确的连接)组合到这里:

$sql = "SELECT f.feature_name, f.feature_start, f.feature_end, f.feature_headline, f.feature_text,  f.feature_photoHor, f.feature_photoVert, f.feature_photoSquare FROM features LEFT JOIN feature_website fw ON f.feature_id = fw.feature_id LEFT JOIN websites w ON fw.website_id = w.website_id AND w.website_url = :webURL";

我错过了什么?

试试这个查询:

$sql = "
SELECT f.feature_name, f.feature_start, f.feature_end, f.feature_headline, f.feature_text,  f.feature_photoHor, f.feature_photoVert, f.feature_photoSquare 
FROM 
    websites w
        LEFT JOIN feature_website fw ON fw.website_id = w.website_id
        LEFT JOIN features f ON f.feature_id = fw.feature_id
WHERE
    w.website_url = :webURL
";

如果您的网站没有任何功能,如果您不想显示任何结果,也许您可​​以使用常规JOIN

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM