Mysql 将多个结果合并为列
我想使用sql查询显示“佛罗里达”大学的“学费”和“费用” 我使用下面的代码首先查询学费,然后结合第二个查询查询费用。然而,我没有得到我期望的结果 预期结果如下:Mysql 将多个结果合并为列,mysql,sql,sqlite,Mysql,Sql,Sqlite,我想使用sql查询显示“佛罗里达”大学的“学费”和“费用” 我使用下面的代码首先查询学费,然后结合第二个查询查询费用。然而,我没有得到我期望的结果 预期结果如下: > School | Tuition | Fees > -------------------------------------------- > School 1 | 2000 | 50 > School 2 |
> School | Tuition | Fees
> --------------------------------------------
> School 1 | 2000 | 50
> School 2 | 1000 | 80
但我得到了以下结果:
> School | Tuition | Fees
> --------------------------------------------
> School 1 | 2000 | 50
> School 1 | 1000 | 50
> School 2 | 2000 | 80
> School 2 | 1000 | 80
我对WordPress数据库使用了以下查询。“学费”和“费用”的所有值都包含在名为“实体\字段\编号”的表中。这些值位于名为“值”的列中。学费和学费由一个名为“字段名称”的列区分。“实体id”是分配给学校的id号
表“实体\字段\编号”
下面是我使用的查询
SELECT *
FROM
(SELECT field_number.`value` as tuition,
posts.`post_title` as school
FROM field_number
INNER JOIN posts
ON posts.`post_type` = 'school_dir'
AND field_number.`entity_id` = posts.`ID`
INNER JOIN field_location
ON field_location.`province` LIKE '%florida%'
AND posts.`ID` = field_location.`entity_id`
AND field_number.`field_name` = 'tuition') tuition,
(SELECT field_number.`value` as fees,
posts.`post_title` as school
FROM field_number
INNER JOIN posts
ON posts.`post_type` = 'school_dir'
AND field_number.`entity_id` = posts.`ID`
INNER JOIN field_location
ON field_location.`province` LIKE '%florida%'
AND posts.`ID` = field_location.`entity_id`
AND field_number.`field_name` = 'fees') fees
你所做的可以解释为
SELECT
*
FROM
(<sql>) tuition,
(<sql>) fees
交叉联接
从两个表中获取行的每个组合(笛卡尔积)
您真正想要的是一个内部连接
SELECT
*
FROM
(<sql>) tuition
INNER JOIN
(<sql>) fees
ON tuition.school = fees.school
你所做的可以解释为
SELECT
*
FROM
(<sql>) tuition,
(<sql>) fees
交叉联接
从两个表中获取行的每个组合(笛卡尔积)
您真正想要的是一个内部连接
SELECT
*
FROM
(<sql>) tuition
INNER JOIN
(<sql>) fees
ON tuition.school = fees.school
MySQL SQLite。你到底在使用哪种RDBMS?你不会得到那个结果,你会得到四列…MySQL SQLite。你到底在使用哪种RDBMS?你没有得到那个结果,你得到了四列。。。
SELECT
posts.`post_title` as school,
fees.`value` as fees,
tuition.`value` as tuition
FROM
field_location
INNER JOIN
posts
ON posts.`ID` = field_location.`entity_id`
INNER JOIN
field_number AS fees
ON fees.`entity_id` = posts.`ID`
AND fees.`field_name` = 'fees'
INNER JOIN
field_number AS tuition
ON tuition.`entity_id` = posts.`ID`
AND tuition.`field_name` = 'tuition'
WHERE
field_location.`province` LIKE '%florida%'
AND posts.`post_type` = 'school_dir'