mySQL嵌套查询语法
我试图使用嵌套查询方法为mySQL数据库的查询构建查询,但未能正确生成输出。我能够将我的表导入到Microsoft Access中,然后构建Query1,然后在Query1上构建Query2,以获得我所寻找的正确输出,因此我感觉我已经接近了,我只是无法使用mySQL查询方法获得正确的语法以获得我所寻找的输出 Query1,下面是Access针对Query1的SQL语句mySQL嵌套查询语法,mysql,Mysql,我试图使用嵌套查询方法为mySQL数据库的查询构建查询,但未能正确生成输出。我能够将我的表导入到Microsoft Access中,然后构建Query1,然后在Query1上构建Query2,以获得我所寻找的正确输出,因此我感觉我已经接近了,我只是无法使用mySQL查询方法获得正确的语法以获得我所寻找的输出 Query1,下面是Access针对Query1的SQL语句 SELECT DISTINCT MediaBuys.DistrictID, MediaBuys.SpenderID, Media
SELECT DISTINCT MediaBuys.DistrictID, MediaBuys.SpenderID, MediaBuys.PG, MediaBuys.SupportType, MediaBuys.PriSupportType
FROM MediaBuys
WHERE MediaBuys.PG ="P";
Query2,如果我像上面一样在Access中构建了Query1,并且在Access中运行这个SQL语句作为构建在第一个查询上的单独查询,那么我可以生成我要查找的输出
SELECT Query1.DistrictID, Query1.SpenderID, Query1.PG, Query1.SupportType, Query1.PriSupportType, Count(Query1.SupportType) AS CountOfSupportType
FROM Query1 INNER JOIN Query1 AS Query1_1 ON Query1.PG = Query1_1.PG AND Query1.SpenderID = Query1_1.SpenderID AND Query1.DistrictID = Query1_1.DistrictID
GROUP BY Query1.DistrictID, Query1.SpenderID, Query1.PG, Query1.SupportType, Query1.PriSupportType
HAVING Count(Query1.SupportType) > 1;
我希望能够从mySQL中的查询中生成相同的输出。由于我有这两个查询的SQL语句,我觉得这应该是可行的,我尝试用多种不同的方式构建一个嵌套查询,但每次尝试都失败了,似乎我无法组合正确的语法。我收到的最常见错误是“错误代码:1146。表'Query1'不存在”
这在mySQL中可行吗?如果可行,有人可以帮助我使用正确的语法吗?就像您在Access中创建查询
Query1
一样,在mySQL中创建视图View1
:
CREATE VIEW View1 AS
SELECT DISTINCT DistrictID, SpenderID, PG, SupportType, PriSupportType
FROM MediaBuys
WHERE PG ='P';
您的查询将是:
SELECT
View1.DistrictID, View1.SpenderID, View1.PG, View1.SupportType, View1.PriSupportType,
Count(View1.SupportType) AS CountOfSupportType
FROM View1 INNER JOIN View1 AS View1_1
ON View1.PG = View1_1.PG AND View1.SpenderID = View1_1.SpenderID
AND View1.DistrictID = View1_1.DistrictID
GROUP BY View1.DistrictID, View1.SpenderID, View1.PG, View1.SupportType, View1.PriSupportType
HAVING Count(View1.SupportType) > 1;
看,这正是我想要的,非常感谢你花时间帮助我解决我的问题。