我想要一个查询,每次使用每种颜色时都会计数。如何计算MySQL中的内部连接和多个条件
tbl_places是保存来自几个枚举表的数据的主表。 tbl_places为不同建筑物中特定楼层的颜色保留相应的INT值。 `
tbl_paintcolor是一个包含2列的枚举表:值和颜色。
我不知道如何将ON子句与我要在tbl_places中计数的特定列相关联。
SELECT
`tbl_paintcolor`.`Color` AS Paint_Color,
count(`tbl_places`.`blg1floor1_color`) AS Blg1Floor1,
count(`tbl_places`.`blg1floor2_color`) AS Blg1Floor2,
count(`tbl_places`.`blg1floor3_color`) AS Blg1Floor3
FROM `tbl_places`
INNER JOIN `tbl_paintcolor` ON (`tbl_places`.`blg1floor1_color`=`tbl_paintcolor`.`Value` OR `tbl_places`.`blg1floor2_color`=`tbl_paintcolor`.`Value`)
GROUP BY `tbl_paintcolor`.`Color`
该查询结束了或多或少地计算同一列。
如何将ON子句中的条件表达式与我想在SELECT子句中计算的列相关联?
我想查询为每个特定楼层输出一列,每行记录颜色被找到的时间。此查询的输出将被结构化:
╔════════╦════════════╦════════════╦════════════╗
║ Color ║ Blg1Floor1 ║ Blg1Floor2 ║ Blg1Floor3 ║ etc...
╠════════╬════════════╬════════════╬════════════╣
║ red ║ 23 ║ 23 ║ 23 ║
║ orange ║ 23 ║ 23 ║ 23 ║
║ yellow ║ 23 ║ 23 ║ 23 ║
╚════════╩════════════╩════════════╩════════════╝
等
感谢您的时间,并道歉,如果这还不清楚,我是很新的SQL。
您的查询不罢工我是错的。你目前的产出是多少? –
它为每列输出相同的计数。我认为我的问题在OR语句中。我正在寻找一种更好的方法来将ON子句链接到我的SELECT子句 –
如果您向我们展示数据和查询输出的可重复示例,可能会有所帮助。 –