无法在 SQL Server 2008 上绑定多部分标识符

2023-12-01

我有2张桌子

requests (ID, company_id, amount)

companies (ID, name)

具有 FK 约束(requests.company_id -> companies.id)

requests.company can be NULL

我需要获取所有请求并替换company_id与适当的公司name如果未指定公司,则将其留空。

我有下一个查询:

SELECT R.[ID], C.[name] AS [company], R.[amount], ...
FROM [requests] AS R, [companies] AS C, ...
WHERE R.[company_id] = C.[ID]

它工作正常,直到 NULL 进入company field.

我尝试下一步:

SELECT R.[ID], C.[name] AS [company], ...
FROM [requests] AS R, ...
LEFT OUTER JOIN [companies] AS C
ON R.[company_id] = S.ID

But got

无法绑定多部分标识符“R.company_id”

以及字段中的相同错误ON条款转移。我究竟做错了什么?


您显示的代码示例有省略号,我相信正是省略号中的内容造成了麻烦。

你有:

SELECT R.[ID], C.[name] AS [company], ...
FROM [requests] AS R, ...
LEFT OUTER JOIN [companies] AS C
ON R.[company_id] = S.ID

假设是这样的:

SELECT R.[ID], C.[name] AS [company], X.Field
FROM [requests] AS R, [eXample] as X 
LEFT OUTER JOIN [companies] AS C
ON R.[company_id] = S.ID
WHERE X.[request_id] = R.ID

换句话说,ANSI 92 之前的内连接语法与 ANSI 92 外连接语法的混合。在 SQL Server 2005 上进行测试,在您的示例中,似乎在将 R 与 ... 分隔开的逗号后面看不到请求的别名 R,而在我的示例中,[eXample] 作为 X。然而,以下方法确实有效:

SELECT R.[ID], C.[name] AS [company], X.Field
FROM [eXample] as X, [requests] AS R 
-- Requests and companies on the same side of the comma
LEFT OUTER JOIN [companies] AS C
ON R.[company_id] = S.ID
WHERE X.[request_id] = R.ID

or

SELECT R.[ID], C.[name] AS [company], X.Field
FROM [requests] AS R LEFT OUTER JOIN [companies] AS C
    ON R.[company_id] = S.ID, [eXample] as X 
WHERE X.[request_id] = R.ID
-- Yuck, I would hate to find this. Not at all sure from reading
-- the code how it would work.

或者我最喜欢的,因为我喜欢 ANSI 92 连接语法:

SELECT R.[ID], C.[name] AS [company], X.Field
FROM [requests] AS R
INNER JOIN [eXample] as X ON X.[request_id] = R.ID
LEFT OUTER JOIN [companies] AS C ON R.[company_id] = S.ID
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在 SQL Server 2008 上绑定多部分标识符 的相关文章

  • 如何从更多列中选择但按 1 列分组?

    SELECT studentnum FROM Atten WHERE att Yes AND unitCode MMA1034 GROUP BY studentnum HAVING COUNT lt 4 如何选择更多列 例如 还有学生姓名
  • 获取记录子集以及总记录计数

    我正在努力从 SQL Server 2008 返回记录集以进行一些分页 我一次只返回 15 条记录 但我需要匹配的总数以及记录的子集 我使用了两个不同的查询 结果混合 具体取决于我需要在较大组中的哪个位置提取子集 这是一个示例 SET NO
  • 如何根据事件触发SSRS订阅?

    有没有一种方法可以让我在共享文件夹中创建文件等事件时触发 SSRS 订阅 基于时间 我们可以使用 powershell 或 C 来实现吗 SSRS 中是否有可用的开箱即用功能 尽管我认为没有 我正在使用 SQL Server 2008 R2
  • 在 SQL Server 中将行转换为 XML 格式

    我有如下要求 上图的 ddl 和 dml 脚本是 CREATE TABLE example CCP DETAILS SID int ACCOUNT GROWTH int PRODUCT GROWTH int PROJECTION SALES
  • 写入 SQL 时遇到问题

    我已经用 VB Net 编写了几个月了 并且在我的代码中成功地使用了 SQL 命令很多次 但是在写入数据库中的一个特定表时遇到了问题 我相信问题在于我有一个正在尝试写入的数字列 我得出这个结论是因为它是我不经常使用的唯一一个 并且我的代码不
  • SQL Server 条件流

    如果我写两个SELECT中的语句IF EXISTS条件与AND这些选择查询之间的子句 即使第一个查询是否都会执行两个查询SELECT返回假 IF EXISTS SELECT AND EXISTS SELECT BEGIN END 在这种情况
  • ASP.net 无法将文件附加为数据库

    我正在 Visual Studio 2013 中使用 C 和 ASP net 为数据库开发一个数据输入表单 我正在尝试构建一个表单 允许我将 Nintendo Power Magazine 的 Top 30 民意调查的结果输入到一个表单中
  • SQL Server 表不使用默认值

    我正在使用 SSIS 包填充表 这个想法是 每当包上传到表时 它都会使用时间戳记该值getdate 当我打开它时 我的 DDL 看起来像这样 CREATE TABLE REPORTING post ssis table 1 validati
  • 将 char 数据类型转换为 datetime 数据类型导致日期时间值超出范围

    我正在努力将数据从 Excel 导入到 SQL Server 我在 sql server 中插入日期和日期时间值时遇到问题 它向我展示了这个错误 System Data SqlClient SqlException The conversi
  • TSQL - 如何在 BEGIN .. END 块内使用 GO?

    我正在生成一个脚本 用于自动将更改从多个开发数据库迁移到登台 生产 基本上 它需要一堆更改脚本 并将它们合并成一个脚本 将每个脚本包装在一个IF whatever BEGIN END陈述 然而 有些脚本需要GO语句 以便 SQL 解析器在创
  • 无法将参数值从 TimeSpan 转换为 DateTime

    我正在使用 SQL Server 2008 首先我给了SqlDbType Time for System TimeSpan插入和更新的参数类型 我工作成功 现在我改为DbType Time代替SqlDbType Time 这给了我错误消息
  • SQL Server 列的默认值

    当您使用列的默认值时SQL Server Management Studio表设计器 SSMS 更改您的默认值并在其周围添加括号 在所有版本和 SQL Server 的所有版本中 例如 如果您设置0作为默认值 此默认值更改为 0 我不知道为
  • SQL Server 查询从字符串中删除最后一个单词

    SO 中已经有一个带有 MySQL 标签的问题的答案 因此 我决定让您的生活更轻松 并为 SQL Server 用户提供以下答案 总是很高兴看到不同的答案 也许会有更好的表现 快乐编码 SELECT SUBSTRING YourString
  • 如何获取网络上可用的 SQL Server 列表?

    我正在尝试这个 但我不知道如何继续 你能帮我个忙吗 SqlDataSourceEnumerator instance SqlDataSourceEnumerator Instance DataTable table instance Get
  • SQL Server:使用计算列批量插入表

    我尝试使用 bcp 将文本文件中的数据插入到具有计算列的 SQL Server 2016 表中 我的 bcp 命令 bcp Test dbo myFirstImport IN D myFirstImport txt f D myFirstI
  • 实体框架以错误的顺序插入子对象

    Question 为什么 EF 首先在它所依赖的对象 TimesheetActivity 之前插入具有依赖项的子对象 PersonnelWorkRecord 另外我有哪些纠正这个问题的选择 ERD 简化 This is predefined
  • 选择出现多次的行

    TableOne PersonId PersonScore 1 10 1 20 2 99 2 40 3 45 我只需要获取 PersonId 多次出现的那些行 例如以下是我想要实现的结果集 PersonId PersonScore 1 10
  • ssis 输出 json 文件添加额外的 crlf

    这个问题已经用c 代码解决了 请参考这篇文章the post https stackoverflow com questions 54059599 ssis generate json file remove return 54084996
  • 阻止 Django 更新 MSSQL 中的标识列

    我正在使用 MSSQL 中的旧数据库 我们有一个表 其中有两列给我带来了问题 class Emp models Model empid models IntegerField Unique ID unique True db column
  • 如何将Excel文件导入到sql server 2008

    如何在不使用导入向导的情况下使用 sql 查询将 excel 文件导入到 sqlserver2008 Express Edition 中的新表中 谢谢 普拉迪 有一篇微软知识库文章列出了所有可能的方法 http support micros

随机推荐

  • 如何在ListView列表项中添加节标题

    我想开发 国家历史 Android应用程序 但我有一个问题 我无法将国家 地区标题放入列表视图列表项中 我想放标题 例如 非洲 北非 撒哈拉以南非洲 亚洲 北亚 西亚和中亚 南亚和东南亚 欧洲 北美和中美洲 北美洲 大洋洲 南美洲 这是我的
  • 如何用多个分隔符分割字符串并保留分隔符?

    我有例如这个字符串 abc 现在 我想把它分成 分隔符 我知道我可以使用 String split 来实现这一点 但有没有办法可以通过这个符号来分割 if 但又不会丢失它 就像如果我使用 split 我会得到这个string abc 而且我
  • 用于维护计数器和聚合的 Firebase 控制服务器

    It s a 已知问题firebase 没有简单的方法来计算项目 我计划创建一个严重依赖计数和其他聚合的应用程序 我担心按照建议的规则创建此应用程序的计数器here将非常复杂且难以维护 所以我想到了这个模式 我将保留一个服务器来侦听数据库中
  • 强制 Sympy 在 MathJax Jupyter 中打印数学

    我正在使用 VSCode 和 Jupyter 来处理 Sympy 通常 它以 MathJax 格式打印数学方程 sympy 文档说 在IPython笔记本中 它将使用MathJax来渲染LATEX MathJax 输出 但是 当我安装 ma
  • 捕获 Mysqli 错误

    我定义了一个自定义错误处理程序 它捕获所有异常并将它们保存到日志中 现在 如果我在 mysqli 查询中出现语法错误 例如拼写错误 页面将在此时完全停止加载 不会引发异常 因此不会触发错误处理程序并且不会记录任何内容 这是正常的吗 我应该检
  • 如何渐变填充按钮的背景?

    我必须创建一个带有渐变填充的彩色按钮 从按钮的中间沿 Y 轴开始 如果我将按钮的背景属性设置为我想要的颜色 我会丢失rounded按钮的外观和感觉以及渐变填充 它看起来像TextView有背景 另外 我希望当用户按下按钮时改变这种颜色 我可
  • 在 jquery ajax 中使用动态数据实现自动完成

    我在 ASP Net MVC 应用程序中使用 Materialize ui 并且使用带有动态数据的自动完成控件 这是我的代码 div class row div class col s12 div class row div class i
  • 节点 module.exports 返回未定义

    我在使用 Node js 时遇到问题module exports 我明白那个module exports是返回一个对象的调用 该对象具有为其分配的任何属性 如果我有这样的文件结构 formatting js function Format
  • 锁助手的线程安全使用(关于内存屏障)

    我所说的锁定助手指的是一次性对象 可以通过它来实现锁定using声明 例如 考虑一个典型的用法SyncLock班级来自乔恩 斯基特的 MiscUtil public class Example private readonly SyncLo
  • 替换python中的特殊字符

    我有一些来自网络的文字 6 49 显然我希望它显示为 6 49 到目前为止我已经尝试过以下操作 s url title s s encode utf8 s s replace u 还有一些变体 在同一个论坛上找到它之后 但仍然没有运气 因为
  • 理解Python的枚举

    在转向 python 之前 我开始自学一些 c 并且习惯于编写循环 例如 for int i 0 i lt 20 i cout lt lt value of i lt lt i lt lt endl 转向 python 我经常发现自己使用类
  • Infinispan - 设置每个实体的expiration.lifespan

    我在 Jboss 6 1 0 上部署了一个 java Web 应用程序 它使用 infinispan 5 2 6 Final 我正在尝试设置每个实体特定的有效期遵循本指南 http infinispan org docs 5 2 x use
  • 为 .NET 项目选择数据库和 ORM

    我正在开发一个在客户端使用 Silverlight 的 NET 应用程序 现在我已经到了我想扔掉服务器端的静态虚拟数据并添加数据库的地步 对于数据库 我喜欢使用 ORM 之一 我可以在其中简单地标记我的模型类 并且数据库表是为我构建的 我之
  • 将 JavaScript 函数作为参数传递

    如何将函数作为参数传递 而无需在 父 函数中执行该函数或使用eval 因为我读到它是不安全的 我有这个 addContact entityId refreshContactList 它有效 但问题是refreshContactList当调用
  • 如何将修改/包装的 HTTPServletRequest 传递给后续的 Zuul Filter?

    我们有一个 Zuul 预过滤器 Filter1 它将检查传入的 HTTPServletRequest 并对其中的查询参数进行一些更改 以将其嵌入到自定义创建的请求中 包装 HttpServletRequestWrapper 现在 我想将这个
  • 如何通过Retrofit和GsonConverter处理JSONP响应?

    我需要解析来自 Flickr API 的响应 它以 json Flickr Feed jQuery 回调函数返回响应 这不是有效的 JSON 响应 我知道我们可以使用以下方法删除 Flickr API 的 JSON 回调方法nojsonca
  • 将窗口放置在 WPF 控件的左上角

    我试图以某种方式放置一个窗口 使其左上角位于特定 WPF 控件左上角的同一点 所以我尝试像这样获取控件的屏幕坐标 PresentationSource source PresentationSource FromVisual ctrl Po
  • 在 PHP 中获取本地计算机 IP 地址 [重复]

    这个问题在这里已经有答案了 我希望获取特定程序必须运行的本地计算机 IP 地址 要运行该页面 我首先检查本地 IP 地址是否与指定的 IP 地址匹配 然后才会打开该页面 我正在用 PHP 编程 我尝试过 SERVER 和 getenv 但它
  • 从 size_t 中减去会得到大的正数[重复]

    这个问题在这里已经有答案了 我刚刚遇到了一个令人讨厌的错误 其中有一个循环 for auto i 0 i lt vec size 1 i vec 是emtpy std vector 因此 vec size 1 计算结果为2 64在我的系统上
  • 无法在 SQL Server 2008 上绑定多部分标识符

    我有2张桌子 requests ID company id amount companies ID name 具有 FK 约束 requests company id gt companies id requests company can