将一个表中的多个列连接到另一个表中的单个列

2024-01-04

我正在创建一个从两个表“Schedule”和“Reference”中提取数据的视图。

Schedule 有 50 多列(它几乎完全非规范化——不是我的设计),其中大部分包含可以连接到参考表中的列的值。

如何编写 SQL 语句以将 Schedules 中的每一列正确连接到 Reference 中的单个列?

时间表表定义为:

    CREATE TABLE [dbo].[Schedule](
    [ID] [int] NOT NULL,
    [SCHEDULEWEEK] [datetime] NOT NULL,
    [EMPNO] [numeric](10, 0) NOT NULL,
    [EMPLNAME] [varchar](32) NULL,
    [EMPFNAME] [varchar](32) NULL,
    [EMPSENDATE] [datetime] NULL,
    [EMPHIREDATE] [datetime] NULL,
    [EMPTYPE] [char](1) NULL,
    [EMPSTATUS] [char](1) NULL,
    [SNREFUSALS] [tinyint] NULL,
    [QUALSTRING] [varchar](128) NULL,
    [JOBOVERSHIFTTYPE] [bit] NULL,
    [SHORTNOTICE] [bit] NULL,
    [SHORTNOTICEWAP] [bit] NULL,
    [SHORTNOTICEPHONE] [varchar](32) NULL,
    [LEADHAND] [bit] NULL,
    [DUALCURRENCY] [bit] NULL,
    [MIN100WINDOW] [bit] NULL,
    [STATHOLIDAY] [bit] NULL,
    [AREAOVERHOURS] [bit] NULL,
    [DOUBLEINTERZONES] [bit] NULL,
    [MAXDAYSPERWEEK] [tinyint] NULL,
    [MAXHOURSPERWEEK] [numeric](10, 2) NULL,
    [MAXHOURSPERSHIFT] [numeric](10, 2) NULL,
    [MAXDOUBLESPERWEEK] [tinyint] NULL,
    [ASSIGNEDDAYS] [tinyint] NULL,
    [ASSIGNEDHOURS] [numeric](10, 2) NULL,
    [ASSIGNEDDOUBLES] [tinyint] NULL,
    [ASSIGNEDLOAHOURS] [numeric](10, 2) NULL,
    [SHIFTNO1] [int] NULL,
    [TEXT1_1] [varchar](64) NULL,
    [TEXT2_1] [varchar](64) NULL,
    [DAYFLAG1] [bit] NULL,
    [COMMENT1] [text] NULL,
    [SHIFTNO2] [int] NULL,
    [TEXT1_2] [varchar](64) NULL,
    [TEXT2_2] [varchar](64) NULL,
    [DAYFLAG2] [bit] NULL,
    [COMMENT2] [text] NULL,
    [SHIFTNO3] [int] NULL,
    [TEXT1_3] [varchar](64) NULL,
    [TEXT2_3] [varchar](64) NULL,
    [DAYFLAG3] [bit] NULL,
    [COMMENT3] [text] NULL,
    [SHIFTNO4] [int] NULL,
    [TEXT1_4] [varchar](64) NULL,
    [TEXT2_4] [varchar](64) NULL,
    [DAYFLAG4] [bit] NULL,
    [COMMENT4] [text] NULL,
    [SHIFTNO5] [int] NULL,
    [TEXT1_5] [varchar](64) NULL,
    [TEXT2_5] [varchar](64) NULL,
    [DAYFLAG5] [bit] NULL,
    [COMMENT5] [text] NULL,
    [SHIFTNO6] [int] NULL,
    [TEXT1_6] [varchar](64) NULL,
    [TEXT2_6] [varchar](64) NULL,
    [DAYFLAG6] [bit] NULL,
    [COMMENT6] [text] NULL
-- Snip
) ON [PRIMARY]

参考表定义为:

CREATE TABLE [dbo].[Reference](
    [ID] [int] NOT NULL,
    [CODE] [varchar](21) NOT NULL,
    [LOCATIONCODE] [varchar](4) NOT NULL,
    [SCHAREACODE] [varchar](16) NOT NULL,
    [LOCATIONNAME] [varchar](32) NOT NULL,
    [FLTAREACODE] [varchar](16) NOT NULL
) ON [PRIMARY]

我正在尝试加入每个 [TEXT1_]/[文本2_] 列中的附表中的 [SCHAREACODE] 列进行引用。参考表包含的只是员工可以工作的区域列表。


我认为他的意思是多次加入参考表:

SELECT *
  FROM Schedule AS S
 INNER JOIN Reference AS R1 
         ON R1.ID = S.FirstID 
 INNER JOIN Reference AS R2 
         ON R2.ID = S.SecondID 
 INNER JOIN Reference AS R3 
         ON R3.ID = S.ThirdID 
 INNER JOIN Reference AS R4 
         ON R4.ID = S.ForthID 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将一个表中的多个列连接到另一个表中的单个列 的相关文章

  • SQL - != 'NULL' 的解释

    我的SSMS代码如下 Select top 50 From FilteredContact Where statuscode 1 and emailaddress1 NULL and telephone1 NULL and address1
  • 如何获得顶部带有千位分隔符的数字?

    SELECT count FROM table A 假设结果是8689 我怎样才能将它转换为8 689在 SQL Server 上 尝试这样 select replace convert varchar convert Money coun
  • 在 Oracle 行的多个列上使用透视

    我在 Oracle 表中有以下示例数据 tab1 我正在尝试将行转换为列 我知道如何在某一列上使用 Oracle 数据透视表 但是否可以将其应用于多个列 样本数据 Type weight height A 50 10 A 60 12 B 4
  • 优化 SQL Server 上的删除

    Deletesql server 上的有时很慢 我经常需要优化它们以减少所需的时间 我一直在谷歌上搜索一些关于如何做到这一点的提示 并且我发现了各种各样的建议 我想知道你最喜欢和最有效的驯服删除野兽的技术 以及它们如何以及为什么起作用 到目
  • 如何找到多个列中的最小值

    我在我的 DB 3 col 中有一个值 我想在所有这些值中找到一个值 如下所述 表名 MyTable id col1 col2 col3 1 200 300 400 2 100 150 300 3 800 102 20 4 80 80 0
  • 给定“java.sql.SQLIntegrityConstraintViolationException”是否可以确定错误的列

    鉴于我有一个类型为 java sql SQLIntegrityConstraintViolationException 的异常 是否可以以编程方式确定错误的列 或多列 我问这个问题是因为我想将错误映射回客户端的数据模型以指示错误的字段 例如
  • date_sub 对于 mysql 可以,对于 postgresql 可以

    此查询适用于 mySQL 不适用于 Postgresql select from where id and h gt date sub now INTERVAL 30 MINUTE 错误是 Query failed ERREUR erreu
  • 如何查找当前数据库类型

    我们有一个 SQL 脚本可以在多种类型的数据库上执行 是否可以获取正在执行 SQL 脚本的当前数据库的类型 注意 我们不能使用非标准 SQL 即 TSQL 等 不 ANSI SQL 中没有任何关于确定数据库供应商的内容
  • PL/pgSQL SELECT 到数组中

    这是我的函数声明和主体的一部分 CREATE OR REPLACE FUNCTION access update RETURNS void AS DECLARE team ids bigint BEGIN SELECT INTO team
  • SQL:如何在按部分分组的查询中使用子查询?

    如何在按部分分组的查询中使用子查询 我使用 SQL Server 2008 R2 和 Delphi 2010 我收到此错误 Cannot perform an aggregate function on an expression cont
  • 需要按天分割日期时间范围

    我有一个需要根据日期时间拆分的表 输入表 ID Start End A 2019 03 04 23 18 04 2019 03 04 23 21 25 A 2019 03 04 23 45 05 2019 03 05 00 15 14 所需
  • SQL Join 列上类似于另一列[重复]

    这个问题在这里已经有答案了 可能的重复 mysql连接查询使用like https stackoverflow com questions 1930809 mysql join query using like 我想要进行连接 其中一列包含
  • JDBC插入实数数组

    我试图将一个真实的数组插入到 postgresql 数组中 该表的定义是 String sqlTable CREATE TABLE IF NOT EXISTS ccmBlock sampleId INTEGER block REAL 插入内
  • 在存储过程中验证用户的最简单方法?

    我需要一个存储过程 可以通过发送以下内容来检查登录尝试时他们是否是有效用户login and password查看它们在数据库中是否匹配 有没有一种简单的方法可以做到这一点 如果没有更多信息 我目前能提供的最好信息是 CREATE STOR
  • st_intersects 与 st_overlaps

    这两个查询有什么区别 select a gid sum length b the geom from polygons as a roads as b where st intersects a the geom b the geom gr
  • 在 SQL Server 上执行分页的最佳方式是什么?

    我有一个数据库超过200万记录 我需要执行分页以在我的 Web 应用程序上显示 该应用程序每页必须有 10 条记录DataGrid 我已经尝试使用ROW NUMBER 但是这种方式会选择所有 200 万条记录 然后只得到 10 条记录 我也
  • 使用子查询 select 创建新表

    我试图从子查询选择创建一个新表 但出现以下错误 附近的语法不正确 SELECT INTO foo FROM SELECT DATEPART MONTH a InvoiceDate as CalMonth DATEPART YEAR a In
  • 如何识别拼写不同的相似单词

    我想从数据库中过滤掉重复的客户名称 一位客户可能有多个同名但拼写差异不大的系统条目 这是一个示例 名为 Brook 的客户可能有 3 个系统条目 有了这个变化 布鲁克 贝尔塔 布鲁克 贝尔塔 比鲁克 贝尔塔 假设我们将此名称放入一个数据库列
  • SQL 连接两个没有关系的表

    我有具有相同结构的不同表 我想通过其中一列将它们连接起来 问题是他们不共享该专栏中的信息 Table 1 Type A Name Value Table 2 Type B Name Value 结果表 在单列中 nameFromA name
  • 使用加权行概率从 PostgreSQL 表中选择随机行

    输入示例 SELECT FROM test id percent 1 50 2 35 3 15 3 rows 你会如何编写这样的查询 平均 50 的时间我可以获得 id 1 的行 35 的时间 id 2 的行 15 的时间 id 3 的行

随机推荐

  • 在 F# 中计算序列后续元素的差异

    我在 F 中有一个浮点数序列 我需要获取一个定义为 Math Log currentElement Math Log previousElement 显然它会比原始序列短一个元素 在 F 中实现此目的最优雅的方法是什么 我正在考虑使用内部带
  • 为什么我们需要“cacheRedirects”?

    我阅读了文档与缓存数据交互 https www apollographql com docs react caching cache interaction cache redirects with cacheredirects虽然我明白如
  • 在 Java 中如何将 double 类型转换为 int 类型?

    我正在看http docs oracle com javase 6 docs api java lang Double html http docs oracle com javase 6 docs api java lang Double
  • .NET - ClickOnce Install - 公司名称和应用程序名称

    在 ClickOnce 应用程序中设置公司名称和应用程序名称的正确方法是什么 我在名为 RecordNavigator 的解决方案中有一组项目 GUI 项目称为 RecordNavigator Gui 当我发布应用程序时 我希望 开始 菜单
  • 在 C# 中使用 WinSCard API 读/写 SLE4442 存储卡

    一些背景信息 为了读取 写入 SLE4442 存储卡 我的应用程序当前使用 Omnikey Cardman 3021 USB 读卡器 这是一个 Sumbsembly 智能卡 API 外部 dll 它能够包装 CT API 调用 定向到 om
  • 防止在移动 Safari (iPad / iPhone) 中长按/长按时出现默认上下文菜单

    对于网站 我想在用户 长按 屏幕时显示自定义上下文菜单 我创建了一个jQuery 长按 https github com pisi Longclick我的代码中的侦听器以显示自定义上下文菜单 显示上下文菜单 但也显示 iPad 的默认上下文
  • ABP.IO - Blazor WebAssembly - 租户特定登录

    我在我的项目中使用 ABP IO Blazor 模板 尝试构建一个简单的多租户门户 我遇到的问题是试图避免最终用户在登录屏幕上选择特定租户 使用此页面作为我的参考 https docs abp io en abp latest 多租户 ht
  • SVN 使用通配符删除?

    我正在将 VSS 存储库迁移到 SVN 并在第一次签入时无意中包含了所有 vti cnf scc 文件 我想从 SVN 中删除这些 当然不是永久的 只是在头脑中 相关应用程序非常大 逐个文件夹查找和删除这些文件将花费很长时间 建议 一定有一
  • 将 JSON 字符串中的数据叠加到现有对象实例

    我想反序列化一个 JSON 字符串 该字符串不一定包含每个成员的数据 例如 public class MyStructure public string Field1 public string Field2 假设我有一个实例 Field1
  • 部分屏幕截图和图像质量损失

    我正在打印相机胶卷 电子邮件 短信 FB Twitter 等的部分屏幕截图 选择了部分屏幕 从顶部开始 100 像素 从底部开始 100 像素 我使用了以下代码 let top CGFloat 100 let bottom CGFloat
  • 使用 NSUserDefaults 存储 UISwitch 状态

    我正在努力坚持UISwitch在我的应用程序的设置视图中说明 基本上它是一个UITableView并包含一些开关来获取用户首选项 下面的代码解释了开关的构造方式 下面只给出了一种开关构造 其他的也以同样的方式构造 if cell nil c
  • 在 Xcode 4.3.1 中使用 libc++ 时如何获得合理的变量显示?

    我使用 Xcode 4 3 1 的 C 11 语言方言以及 libc 作为标准库 这种组合的语言支持令人惊叹 但调试却是一种折磨 Xcode 的 摘要格式 和 lldb 的摘要格式功能都不会以漂亮的打印方式显示任何标准类型 std stri
  • 除了以 /api 开头的路由之外,为所有路由运行快速中间件?

    我有一个 Express 中间件 可以像这样在服务器上渲染 React 放置在所有其他路由之后的末尾 app use function req res Router run routes req path function Handler
  • Android、NSD/DNS-SD:NsdManager 不可靠的发现和 IP 解析

    在过去的几周里 Android 的 NSD 实现让我抓狂 从用户的角度来看 会出现以下问题 设备以完全不确定的方式发现彼此 如果我启动我的NsdManager基于应用程序 如果只涉及两个设备 它或多或少可以工作 如果第三个设备加入 它很少会
  • AngularJS 多页面应用程序网站样板网站结构建议

    我正在寻找一些有关创建由 Laravel 后端服务的 AngularJs 多页面应用程序的指导 网上的所有 Web 应用程序教程都指向创建 SPA 而我刚刚开始使用 Angular 所以请对我放轻松 产品页面示例 http example
  • 在 python 和 swift 之间交换加密消息

    我需要一个 python 代码和一个 swift 代码交换加密消息 这是我尝试过的 Fernet 在审查了这些选项之后 我认为对称密钥算法效果很好 在 python 中 像往常一样 它是加密和解密简单 https cryptography
  • 将解决方案转换为 pdf 或 doc 文件

    这似乎是一个奇怪的问题 但我需要将我的代码转换为 pdf 这样我就可以将其提交 是的 遗憾的是学校系统要求将 CD 上的代码作为 pdf 格式 我能做的就是打开解决方案中的每个类并复制粘贴它 但是 作为一名程序员 我很懒 想知道 Visua
  • 在 QTCreator 中使用 MinGW 编译 c++ 和 cuda 代码

    我正在尝试编译简单的cuda程序 我从在 Windows 上的 Qt Creator 中编译 Cuda 代码 https stackoverflow com questions 12266264 compiling cuda code in
  • C++ 中的斐波那契数列

    include
  • 将一个表中的多个列连接到另一个表中的单个列

    我正在创建一个从两个表 Schedule 和 Reference 中提取数据的视图 Schedule 有 50 多列 它几乎完全非规范化 不是我的设计 其中大部分包含可以连接到参考表中的列的值 如何编写 SQL 语句以将 Schedules