子查询返回多行MySQL(Subquery returns more than 1 row MySQL)

嘿所以有这两个表名称和代码,我试图创建一个包含所有名称的表,并将每个现有代码与名称相匹配。 某些名称没有代码,因此它们应显示为NULL。 无论如何这是我的代码:

SELECT company.name,

(SELECT companyclassification.code
FROM insure_prod.companyclassification
WHERE  company.OIQ_ID = companyclassification.ussicClassification_StdCompany)
AS USSIC_Code

FROM insure_prod.company

当我尝试运行它时,它显示错误代码:1242子查询返回超过1行

提前致谢


Hey so there are these two tables Name and Code and I am trying to make a table with all the Names and match each existing code to the names. Some Names do not have codes so it should display as NULL for those ones. Anyways this is my code:

SELECT company.name,

(SELECT companyclassification.code
FROM insure_prod.companyclassification
WHERE  company.OIQ_ID = companyclassification.ussicClassification_StdCompany)
AS USSIC_Code

FROM insure_prod.company

When I try to run this it displays Error Code: 1242 Subquery returns more than 1 row

Thanks in advance


原文:https://stackoverflow.com/questions/17477398
2023-06-19 12:06

满意答案

检查您是否未将项目与自身进行比较。 还不清楚itemNo来自哪里; 它应该是self.items之一的self.items 。 此外,您的名字有点落后: newItem实际上是要比较的现有项目。

因此,如果新项目是newItem ,您的比较可能如下所示:

var match = ko.utils.arrayFirst(self.items(), function(oldItem) {
  return newItem !== oldItem && newItem.itemNo() === oldItem.itemNo();
});

Check that you are not comparing an item to itself. It's not clear where itemNo comes from; it should be a member of one of self.items. Also, your names are somewhat backward: newItem is really the existing item being compared.

So if the new item is newItem, your compare might look like:

var match = ko.utils.arrayFirst(self.items(), function(oldItem) {
  return newItem !== oldItem && newItem.itemNo() === oldItem.itemNo();
});

相关问答

更多

KnockoutJS如何知道项目在数组中被“移动”的时间?(How does KnockoutJS know when an item is 'moved' in an array?)

如果对阵列执行两个操作,Knockout会将它们视为独立的,并将调用afterAdd和afterAdd回调。 为了让移动回调触发,Knockout需要同时看到两个变化。 实现此目的的一种方法是在可观察数组上使用rateLimit扩展器: var myArray = ko.observableArray([obj1, obj2, obj3]).extend({rateLimit: 0}); // move the second item to the first position myArray....

更新KnockoutJS关联observableArray值(Updating KnockoutJS associative observableArray values)

为了KO更新UI,您需要具有可观察的属性: this.items = ko.observableArray([ { name: "name1", boolVal: ko.observable(true) }, { name: "name2", boolVal: ko.observable(true) }, ]); 并设置为: this.changeValue = function (item) { item.boolVal(false); }; ko.observabl...

Knockoutjs attr点击(Knockoutjs attr with click)

问题是因为函数存在于比数组中当前绑定项更高的级别 - 它正在每个项上查找blockItem 。 相反,您可以告诉它查看父上下文,以便它在您的viewmodel上找到它: <button type="button" class="btn btn-danger" data-bind="attr: { id: block_id }, click: $parent.blockItem"> The issue is because the function exists at a higher l...

knockoutjs订阅不工作?(knockoutjs subscribe not working?)

问题出现是因为您将stocks变量重新分配给另一个可观察值。 所以你先做: this.stocks = ko.observable(); 然后订阅这个可观察的。 但是后来你做了: this.stocks = ko.observableArray(filteredStocks); 这使stocks与另一个可观察的stocks相关 订阅将针对原始观察,即第一次分配的观察。 看一下这个小提琴的简短例子: http : //jsfiddle.net/9nGQ9/2/ 解决方案是替换this.stock...

使用Knockoutjs和jCarouselLite(Working with Knockoutjs and jCarouselLite)

这是对它的第一次尝试。 我不得不把初始调用放在一个计时器中,因为它是在foreach绑定发生之前被调用的,所以旋转木马没有任何内容。 更高级的设计可能会将foreach绑定作为slide一部分。 设置调用在init部分,因为它只发生一次。 我在你之前的帖子中建议了update部分因为我认为需要处理轮播上的重复动作并将其选择绑定到一个可观察的东西。 我们这里不这样做。 ko.bindingHandlers.slide = { init: function(element) { set...

numpy.any()返回True,但“是True”比较失败[duplicate](numpy.any() returns True but “is True” comparison fails [duplicate])

numpy有自己的布尔值, numpy.True_和numpy.False_ ,它们与Python的本地布尔值有不同的身份。 无论如何,你应该使用==来进行这样的权益比较 >>> a.any() is True False >>> a.any() is numpy.True_ True >>> True is numpy.True_ False >>> True == numpy.True_ True numpy has it's own booleans, numpy.True_ and nu...

KnockoutJS和无限循环[重复](KnockoutJS and Infinite Loop [duplicate])

我建议制作一些“私有”可观察量,由可编写的计算可观察量暴露。 由于三个可观察量取决于彼此,通过在一个变化时决定哪个变量保持“固定”,可以防止无限循环的额外风险。 在这个小提琴我做了如下: 如果重量发生变化,则更新力矩并保持手臂固定。 如果力矩发生变化, 手臂会更新并且重量保持不变。 如果手臂发生变化,则更新力矩并保持体重不变。 “私人”观察者看起来像这样: _weight = ko.observable(parseFloat(initialWeight) || 0); _arm = ko.obse...

knockoutjs:克隆一个observableArray-Object(knockoutjs: cloning an observableArray-Object)

您需要在Line视图模型中展开observable。 您可以使用ko.toJS实用程序方法执行此操作。 演示 function Line(line) { this.a = ko.observable(line && line.a); this.b = ko.observable(line && line.b); this.c = ko.observable(line && line.c); }; var ViewModel = function() { var s...

Knockoutjs将observableArray绑定到byte(Knockoutjs bind an observableArray to byte)

我想要做的是尝试将一个knockout observable数组转换为一个字节,然后再传递给服务器以满足参数类型(小int)。 相反,我所做的是创建一个“占位符”(字符串数组)属性并将其转换为一个字节以满足我的数据属性。 我只是希望使用javascript删除额外的步骤。 What I wanted to do was try to convert a knockout observable array to a byte before it was passed to server in ord...

knockoutjs - 检查数组中是否存在项目总是返回true [duplicate](knockoutjs - checking if item exists in array always returns true [duplicate])

检查您是否未将项目与自身进行比较。 还不清楚itemNo来自哪里; 它应该是self.items之一的self.items 。 此外,您的名字有点落后: newItem实际上是要比较的现有项目。 因此,如果新项目是newItem ,您的比较可能如下所示: var match = ko.utils.arrayFirst(self.items(), function(oldItem) { return newItem !== oldItem && newItem.itemNo() === oldI...

相关文章

更多

Solr与Mysql集成指南

Solr与Mysql集成指南 chuanliang于 2011-9-24,20:28 Comm ...

Solr与Mysql集成指南

在《企业级搜索引擎Solr使用入门指南》及《企业级搜索引擎Solr交流》中对Solr的使用做了简单介绍 ...

mysql问题

利用PreparedStatement执行插入,更新的操作时候: 如: PreparedState ...

关于netbeans和mysql的问题

为什么在netbeans里进行数据迁移总说缺少mysql.io这样一个类似的东西, 应该怎么装mys ...

MySQL高级视频教程

布尔教育_MySQL高级.024.启动主从.wmv 布尔教育_MySQL高级.023.主从配置过程.w ...

关于mysql 的 sql

有两张表如下: a表: id name A a B b b表: cid cname 1 ...

MySQL正则查询问题!

表中字段:receivtype 字段内容如下: 1-1-2-3-4-5-6-7-8-9-16|2- ...

mysql in根据查询id排序

mysql in根据查询时,返回结果是自行排序的​,如果要按照我们查询的ID进行排序,要用到order ...

6个常用的Mysql字符串连接函数

有时直接用mysql的字符串函数比查出来再用java字符串函数来处理简单的多,在这里收集了6个常用的M ...

最新问答

更多

您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)

将diff文件复制到存储库的根目录,然后执行以下操作: git apply yourcoworkers.diff 有关apply命令的更多信息, apply 见其手册页 。 顺便说一下:一个更好的方法是通过文件交换整个提交文件是发送者上的命令git format-patch ,然后在接收器上加上git am ,因为它也传送作者信息和提交信息。 如果修补程序应用程序失败,并且生成diff的提交实际上在您的备份中,则可以使用尝试在更改中合并的apply程序的-3选项。 它还适用于Unix管道,如下

将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)

尝试将第二行更改为snprintf(buf1, sizeof buf1, "%.2f", balance1); 。 另外,为什么要声明用该特定表达式分配缓冲区的存储量? EDIT @LưuVĩnhPhúc在下面的评论中提到我的原始答案中的格式说明符将舍入而不是截断,因此根据如何在不使用C舍入的情况下截断小数,您可以执行以下操作: float balance = 200.56866; int tmp = balance1 * 100; float balance1 = tmp / 100.0; c

OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)

这是简单的解决方案 在你需要写的控制器中 BackendMenu::setContext('Archetypics.Team', 'website', 'team'); 请参阅https://octobercms.com/docs/backend/controllers-views-ajax#navigation-context BackendMenu::setContext('Author.Plugin name', 'Menu code', 'Sub menu code'); 你需要在r

页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)

每当发出请求时ASP都会创建一个新的Page对象,并且一旦它将响应发送回用户就不会保留对该Page对象的引用,因此只要你找不到某种方法来保持生命自己引用该Page对象后,一旦发送响应, Page和只能通过该页面访问的所有对象才有资格进行垃圾回收。 ASP creates a new Page object whenever a request is made, and it does not hold onto the reference to that Page object once it

codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)

要在生产服务器中调试这个,你可以临时放 error_reporting(E_ALL); 并查看有哪些其他错误阻止正确的重定向。 您还应该检查生产服务器发送的响应标头。 它是否具有“缓存”,是否需要重新验证标头等 to debug this in production server, you can temporary put error_reporting(E_ALL); and see what other errors are there that prevents the proper

在计算机拍照在哪里进入

打开娥的电脑.在下面找到视频设备点击进去就可以了...

使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)

你是对的。 第一次输入后,换行符将保留在输入缓冲区中。 第一次读取后尝试插入: cin.ignore(); // to ignore the newline character 或者更好的是: //discards all input in the standard input stream up to and including the first newline. cin.ignore(numeric_limits::max(), '\n'); 您必须为#inc

No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)

for (int k = 0; k > 10; k++) { System.out.println(k); } k不大于10,所以循环将永远不会执行。 我想要什么是k<10 ,不是吗? for (int k = 0; k < 10; k++) { System.out.println(k); } for (int k = 0; k > 10; k++) { System.out.println(k); } k is not greater than 10, so loop

单页应用程序:页面重新加载(Single Page Application: page reload)

优点是不注销会避免惹恼用户,以至于他们会想要杀死你:-)。 说真的,如果每次刷新页面时应用程序都会将我注销(或者在新选项卡中打开一个链接),我再也不会使用该应用程序了。 好吧,不要这样做。 确保身份验证令牌存储在刷新后的某个位置,即不在某些JS变量中,而是存储在cookie或本地存储中。 The advantage is that not logging off will avoid pissing off your users so much that they'll want to kill

在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)

EXECUTE IMMEDIATE 'SELECT '||field_val_temp ||' FROM tableb WHERE function_id = :func_val AND rec_key = :rec_key' INTO field_val USING 'STDCUSAC' , yu.rec_key; 和, EXECUTE IMMEDIATE 'UPDATE tablec SET field_val_'||i||' = :field_val' USI