按照 我 的 问题 的 每个 标题 的 总和
我 很 难 在 我 ORACLE SQL Developer 中 找到 查询 语句 以 缩短 时间 , 因为 我 有 一 个 庞大 的 数据 库 , 它 需要 时间 按 每个 子句 语句 上 的 where 和 join 表 的 单个 列 排序 , 但是 它 需要 两 个 小时 , 结果 结果 与 测试 一 个 配置 文件 客户 输出 不同 , 这 比 测试 整个 数据 库 要 快 。
购买 表 中 有 客户 购买 了 汽车 , 因此 我 试图 得到 一 个 答案 , 以 找出 客户 是否 有 特定 红色 任何 汽车 类型 , 以 输出 结果 列 , 无论 过去 和 现在 交易
Purchased table example 的 最 大 值
来自 Purchased 数据 表 的 数据 :
Customer _ ID 姓氏 名字 Colour Car SUV 卡车 4WD 50 Smith John Black 是
50 史密斯 约翰 红 是
50 Smith John Red 是 是 50 Smith John Red 是
20 麦格雷戈 凯蒂 蓝色 是 是 20 麦格雷戈 凯蒂 红色 是
20 麦格雷戈 凯蒂 布莱克 是 的
20 麦格雷戈 凯蒂 红 是 是 11 杨 凯伦 红 是
11 杨 凯伦 红 是
90 威尔金斯 梅丽莎 布莱克 是 的
90 Wilkins Melissa 红色 是 是 90 Wilkins Melissa 蓝色 是 是 90 Wilkins Melissa 灰色
135 Barnes Tom 红色 是 是 是 135 Barnes Tom 蓝色 是
135 巴恩斯 汤姆 布莱克 是
output result 格式
任何 红色 汽车 输出 结果 :
客户 标识 姓氏 名字 汽车 SUV 卡车 四轮 驱动 50 Smith John 是否 否 是 20 McGregor Katie 是否 否 否 11 Yang Karen 是 是否 否 90 Wilkins Melissa 否 否 否 是 135 Barnes Tom 是否 是
谢谢 你 的 帮忙
目前 , 我 正在 使用 以下 方法 说明 ;
与
排序 为 (
精选
清晰 ( 颜色 ) ,
客户 标识 、
姓氏 ,
汽车 ,
SUV 、
卡车 ,
四轮 驱动
从 购买 )
精选
即 客户 ID ,
即 姓氏 ,
nvl ( 例如 , 汽车 , " 否 " ) 汽车 ,
nvl ( e . SUV , " 否 " ) SUV ,
nvl ( 例如 , 卡车 , " 否 " ) 卡车 ,
nvl ( 例如 , 四轮 驱动 , " 否 " ) 四轮 驱动
从 (
精选
a . 客户 ID ,
a . 姓氏 ,
a . 汽车 ,
b . SUV ,
c . 卡车 ,
d . 四轮 驱动
从 (
精选
独特 ( 汽车 ) ,
客户 标识
从 已 排序 _
其中 颜色 = " 红色 "
和 汽车 = ' 是 ' ) a
数据 ) 左 连接
精选
独特 ( SUV ) ,
客户 标识
从 已 排序 _
其中 颜色 = " 红色 "
SUV = " 是 " ) b
ON a . 客户 标识 = b . 客户 标识
数据 ) 左 连接
精选
不同 ( 卡车 ) ,
客户 标识
从 已 排序 _
其中 颜色 = " 红色 "
和 卡车 = " 是 " ) c
ON a . 客户 标识 = c . 客户 标识
数据 ) 左 连接
精选
不同 的 ( 4WD ) ,
客户 标识
从 已 排序 _
其中 颜色 = " 红色 "
和 4wd = " 是 " ) d
ON a . 客户 标识 = d . 客户 标识
) e
1条答案
按热度按时间r8uurelv1#
我想我理解了你想要什么,但是你想要的输出(你发布的截图)不匹配。例如,McGregor有两个“红色”行,分别标记了汽车和四轮驱动,而你的输出显示“是”只设置为汽车。为什么?我不能运行你发布的查询,因为它是无效的,因此返回 nothing。
示例数据:
查询,我理解为: