【发布时间】:2015-05-21 01:00:15
【问题描述】:
我一直在这些论坛上徘徊,一直在寻找有关 Joins 和 Sub_queries 的提示并储存了解决方案,但我一直遇到一些看似简单但我却无法理解的问题。
这几天搜索这个论坛没有得到我的答案。
所以,这里是:
我有一张表,其中有一个键 ID、一个人的 Name 和一个名为 Status
的字段我需要使用通常的别名将这个表连接到自身并简单地显示 rows 。
到目前为止,我可以得到“约会”上的正确计数或“失败”上的正确计数,但我的 JOINS 无法将它们全部放在一起,因此它看起来很完整,如下图所示:
id |姓名 |约会(来自状态值)|失败(来自状态值)
36 |布拉德·琼斯 | 78 | 37
45 |雪莉·阿特沃特 | 56 | 44
47 |杰克布里尔 | 33 | 60
53 |诺姆·约翰逊 | 17 | 26
我可以得到一列的id, 其中一个名字, 状态值中的一个,即具有“约会”AS # 约会的约会计数 或者我可以获取 Status LIKE 'No Interest' 的 Status 列行数 但我无法加入
我使用这样的查询和许多变体来获得 4 列中的 3 列,但是当我超越尝试加入时,我迷失了方向......所以我在这里备份并只显示一个查询,该查询可用于获取 Appointments 的数量或通过更改 status 值可以获取 Fails 的计数....
SELECT trainerid, trainername, COUNT(*) AS Appointments
FROM trainer_appointments
GROUP BY 状态,trainerid
HAVING 状态 = '约会'
ORDER BY 约会 DESC
在此表中,每个“名称”都有一个键 ID 号 所以布拉德琼斯的 id 永远是 36
我正在计算有多少行标有他的 ID 号满足状态条件,值为“约会”,并在单独的列中计算状态值“无兴趣”为失败
我也尝试过 -- HAVING Status LIKE 'Appointment' 或
WHERE 状态如“约会”或
HAVING 状态 = '约会'
当我进一步处理此查询并尝试以自己的别名加入此表以获取 FAILS COUNT WHERE "Status LIKE 'No Interest'" GROUP BY id 时,Join 失败。
JOINS 失败并出现各种错误原因,或者查询产生错误计数。
我已经尝试调整我在这个论坛上看到的许多其他连接来解决这个简单的问题,但即使在技术上确实执行了查询,我也无法获得正确的值。
如果你们中的一位专业人士能告诉我这是多么简单,我会很高兴!
【问题讨论】:
-
在你的困扰中,你有没有偶然发现任何你认为通常比其他问题质量更好的问题?
-
你不需要的东西:加入。您需要做的是:将表格中的一些示例行添加到问题中。