问题标签 [mysql-error-1242]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - 在 MySQL 中的子查询上使用 GROUP_CONCAT
我有一个 MySQL 查询,我想在其中包含另一个表中的 ID 列表。在网站上,人们可以添加某些项目,然后人们可以将这些项目添加到他们的收藏夹中。我基本上想获得收藏该项目的人的 ID 列表(这有点简化,但这就是归结为)。
基本上,我做这样的事情:
这样,我可以通过稍后在我的代码中将 idlist 拆分为 PHP 中的数组来显示谁最喜欢某个项目,但是我收到以下 MySQL 错误:
1242 - 子查询返回多于 1 行
我认为这是使用GROUP_CONCAT
而不是,例如,CONCAT
?我会以错误的方式解决这个问题吗?
好的,感谢到目前为止的答案,这似乎有效。但是,有一个问题。如果项目是由该用户添加的,则该项目也被视为收藏夹。所以我需要一个额外的检查来检查creator = userid。有人可以帮我想出一个聪明的(希望是有效的)方法来做到这一点吗?
谢谢!
编辑:我只是尝试这样做:
idlist是空的。请注意,如果我使用INNER JOIN
而不是LEFT JOIN
我得到一个空的结果。即使我确定有满足 ON 要求的行。
mysql - 莫名其妙的内部查询
我有一个嵌套的 SQL 查询,它显示了我无法理解的结果。该查询通过 PARTNER_USER 表连接 PARTNER 和 USER 表。合作伙伴基本上是用户的集合,此查询的目的是确定第 20 个用户何时向 ID 为 34 的合作伙伴注册:
但是,如果我将最后第二行更改为
查询失败并显示错误消息“子查询返回超过 1 行”。为什么第一个查询有效,而第二个查询无效?他们看起来和我一样。
谢谢,唐
mysql - 在 MySQL 中使用子查询进行选择(带有 ANY 和 IN 的子查询)
感谢您的精彩回答!
了解更多信息
这很难解释,所以让我们设置舞台......
我想选择组 a 的操作。我的想法是
但显然这个子查询返回不止一行。我应该使用 JOIN 吗?
mysql - Mysql::Error:子查询返回多于 1 行:
在我的 rails 应用程序中,我正在使用 find_by_sql() 运行 sql 查询,因为我需要子查询。如果我执行第一个或第二个查询,但是当我将它们与 AND 一起添加时,它会开始抱怨子查询中有超过 1 行。
我希望返回与条件匹配的所有行(记录)。这里需要修复/更改什么?什么告诉 mysql 我只想要 1 行?
这是在 rails 日志中查看的结果 SQL:
mysql - 为什么 MySql 会出现“子查询返回超过 1 行”错误?
嗨,伙计,我正在从我的表格中选择我的活动记录,我的所有其他记录都很好,但是活动记录给了我错误我的代码是
@query = Estate.find_by_sql"SELECT (e.name) as estate_name, g.name asGovernance_body,"+ "(select count( ) from stand s where s.estate_id = e.id AND #{filter_estates}) as total_stands, "+ "(select e.active from states e where e.active = true AND #{filter_estates}) as Estate_status, "+ "(select count( ) from services sp where sp.estate_id = e.id AND #{filter_estates} ) as service_providers,"+ "(select count(*) from approved_vendors av where av.estate_id = e.id AND #{filter_estates})as vendor"+ " FROM states e LEFT JOINGoverning_bodies g on e.governing_body_id = g.id和 #{filter_states} "
我得到一个错误。
(Mysql::Error: Subquery return more than 1 row: SELECT (e.name) as estate_name, g.name asGovernance_body,(select count( ) from stand s where s.estate_id = e.id AND e.id IS NOT NULL)作为total_stands,(从estates e中选择e.active,其中e.active = true AND e.id IS NOT NULL)作为estate_status,(从服务sp中选择count(),其中sp.estate_id = e.id AND e.id不为空)作为service_providers,(从approved_vendors av 中选择计数(*),其中av.estate_id = e.id AND e.id 不为空)作为来自庄园的供应商e LEFT JOINGovernance_bodies g on e.governing_body_id = g.id AND e.id 不为空):
我想显示所有活跃和不活跃的庄园。
请问各位,我该如何解决这个问题。我正在使用 Mysql 数据库。
mysql - Mysql Multiple Concat Inner Join,只给一个Name
我有三张桌子。
它给了我这个错误:子查询返回超过 1 行
但我需要的是所有 'BeziehKuBez' 逗号分隔在一列中。
例如。Beziehname1, Beziehname2, ...
如果有测试它,CONCAT_WS(',', BeziehKuBez)
。但是给我同样的一个。我可以用一个while循环来做到这一点吗?但我不知道怎么做?!
更新: 关于格雷格的回答:
GROUP_CONCAT()
给他与 相同的输出concat()
。
每个“Anlass”只有一个名字。但我需要,多个名称用逗号分隔一个“Anlass”。
表结构:
表分析:
AnlID, anlass_name
表 Stammdaten_beziehungen
BeziehID, Beziehkubez
表参数_zuweisung_anl
ZuwAnlID, ZuwAnlAnlNr, ZuwAnlBeziehID
INFO ZuwAnlAnlNr 链接到 Anlass.AnlID ZuwAnlBeziehID 链接到 Beziehung.BeziehID
这是我的查询:
php - MySQL 基准测试
我正在尝试使用 MySQL 基准测试一些查询。但是,我遇到了一个错误。
作为回报,我得到了这个错误;
有谁知道如何对查询进行基准测试?
谢谢
mysql - 帮助子查询!返回超过 1 行
我不明白返回多行的问题:
这是我的桌子 BBC:
问题:
列出包含“印度”、“伊朗”的地区的国家名称和地区。
这是我的声明:
它返回:
我的陈述有什么问题?答案应该是 select 语句中的 select 语句的形式
谢谢你!
php - WHERE id IN 在 UPDATE 中不起作用
UPDATE statistics
'
SET money = money + '$money'
WHERE member_id IN
((SELECT member_id FROM races WHERE l_id = '$mem_id'), $other_id)
那有什么问题?我想从比赛中检索所有 member_ids,还包括 member_id $other_id。没有 $other_id 它可以工作。
顺便说一句,它给了我“子查询返回超过 1 行”错误。
mysql - MySQL不同版本其他结果
嘿,我在 windows 5.1.39-community 和 linux 5.1.39-log 上有 2 个版本的 mysql,我执行一个查询:
在 Windows 上它可以正常工作,但在 linux 上它说:
有没有办法让它在没有任何 mysql 更新/降级的情况下在 linux 上运行?