【发布时间】:2012-03-07 16:11:57
【问题描述】:
我目前面临一个我的 Oracle 知识无法解决的问题,我绝对不是数据库专家,这就是为什么我问你是否知道如何解决我的 SQL 查询问题。
这是我的问题,我有两个表,我们称它们为 DEVICE_TABLE 和 COUNT_TABLE
COUNT_TABLE 看起来像:
设备(内部)PK |数量(整数) - - - - - - - - - - - - - - - - - - - - - - - - - 1001 | 4 - - - - - - - - - - - - - - - - - - - - - - - - - 1002 | 20 - - - - - - - - - - - - - - - - - - - - - - - - - 1003 | 1 …DEVICE_TABLE 看起来像:
ID(内部)PK | WiFi(字符串)|电子邮件(字符串)|蓝牙(字符串) | … - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1001 |是 |没有 |没有 | … - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1002 |是 |是 |没有 | … - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1003 |未知 |未知 |是 | … …约束是:
DEVICE_TABLE.ID = COUNT_TABLE.DEVICE
WiFi、电子邮件、蓝牙……是只能是:“是”、“否”或“未知”的字符串
最后,我预期的 SQL 请求结果是(基于我的示例):
特色 |是 |没有 |未知 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 无线网络 | 24 | 0 | 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 电子邮件 | 20 | 4 | 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 蓝牙 | 1 | 24 | 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - …简而言之,此请求的目的是汇总与特定功能兼容的所有设备数量。
如果您对如何实现此目标有任何线索,请提前致谢! (也许不可能……)
【问题讨论】:
-
COUNT_TABLE looks like :...您为什么不发布 SQL 创建和插入语句?它更容易阅读。 -
是的,如果没有人找到简化测试的解决方案,我会发布它;)