mysql concat 子查询_对MySQL中的子查询使用GROUP_CONCAT

news/2024/11/15 10:37:01

我有一个MySQL查询,其中我想包括来自另一个表的ID列表。在网站上,人们可以添加某些项目,然后人们可以将这些项目添加到他们的收藏夹。我基本上想得到ID的人谁拥有该项目(这是一个有点简化,但这是它归结为)的列表。

基本上,我做这样的事情:

SELECT *,

GROUP_CONCAT((SELECT userid FROM favourites WHERE itemid = items.id) SEPARATOR ',') AS idlist

FROM items

WHERE id = $someid

这样,我将能够显示谁鼓励了一些项目,通过分裂idlist以后在PHP中的数组进一步在我的代码,但我得到以下MySQL错误:

1242 – Subquery returns more than 1 row

我认为这是一个点使用GROUP_CONCAT而不是,例如,CONCAT?我这个错误的方式吗?

好的,感谢答案到目前为止,这似乎工作。但是,有一个catch。如果该用户添加的项目也被视为收藏。所以我需要一个额外的检查,以检查如果creator = userid。有人可以帮我提出一个聪明(和希望有效的)方式做到这一点吗?

谢谢!

编辑:我只是试图这样做:

SELECT [...] LEFT JOIN favourites ON (userid = itemid OR creator = userid)

idlist为空。注意,如果我使用INNER JOIN而不是LEFT JOIN,我得到一个空结果。即使我确定有行满足ON要求。


http://www.niftyadmin.cn/n/1999896.html

相关文章

Spring Cloud Edgware新特性之二:如何配置Zuul的Hystrix线程池

Spring Cloud是当前炙手可热的微服务开发框架。它的功能强大,组件丰富,设计优雅。目前Spring Cloud还在不断发展之中。 Spring Cloud即将发布Spring Cloud Edgware 版本。该版本解决了不少Bug,新增了不少新特性,本系列博客将为大家…

蜀中缘何无大将

蜀中缘何无大将 “蜀中无大将,廖化作先锋”,这句成语所揭示的原本是三国后期蜀汉人才奇缺的历史事实,后来则引伸为泛指因为没有杰出人才,平庸之辈也能侥幸成名,与“山中无老虎,猴子称霸王”意义相近。唐朝…

mysql自动增量备份_mysql自动增量备份的例子(本地备份与远程备份)

mysql自动增量备份的例子(本地备份与远程备份),有需要的朋友可以参考下。1、本地备份编写自动备份脚本:vim /var/lib/mysql/autobak内容如下:复制代码 代码如下:cd /data/home/mysqlbakrq date %Y%m%d /usr/local/mysql/bin/mysqldump sqldb …

线性表的链式存储结构的实现及其应用(C/C++实现)

存档----------- 1 #include <iostream.h>2 typedef char ElemType;3 #include "LinkList.h"4 void main()5 {6 LinkList h;7 ElemType e;8 int i0;9 int t0; 10 cout<<"(1)初始化单链表h\n"; 11 InitList(h); 12 …

python封装函数入门教程_python入门基础教程06 python变量与函数

变量基础变量是编程语言里重要的基本概念&#xff0c;在各类高级语言里都用变量来代表一块内存区域&#xff0c;某一时刻这块区域里存储了‘a’&#xff0c;又一时刻可能又被存储成了’c’,正是由于该块内存里的值可以随时发生变化&#xff0c;我们称之这个代表内存区域的符号为…

泡妞千万别泡貂蝉 嫁人千万别嫁刘备

泡妞千万别泡貂蝉 嫁人千万别嫁刘备 泡妞可以&#xff0c;但千万不要泡貂蝉   中国四大美女之一貂蝉&#xff0c;的确很有诱惑力&#xff0c;但只能欣赏&#xff0c;决对不能泡她。两个泡过他的男人&#xff0c;吕布被勒死了&#xff0c;董卓更惨&#xff0c…

python2初识

此为python2刚开始学习的笔记&#xff0c;比较杂乱python的安装python 标志符以单下划线开头 _foo 的代表不能直接访问的类属性&#xff0c;需通过类提供的接口进行访问&#xff0c;不能用 from xxx import * 而导入&#xff1b;以双下划线开头的 __foo 代表类的私有成员&#…

python建立一个http请求_如何用Python写一个http post请求

展开全部可以参考如下三种方法&#xff1a;一、application/x-www-form-urlencodedimport urlliburl "http://www.example.com"body_value {"package": "com.tencent.lian","version_code": "66" }body_value urllib.ur…