mysql - 语法是什么

标签 mysql sql

我正在尝试运行这段代码,但我得到了不止一行(这就是我想要的),但显然 := 运算符只能处理一个值。我需要什么才能返回多行(一列),以便我可以将其插入下一个选择语句

set @oids :=(

    SELECT OBJECT_ID
    FROM aaa K
    WHERE K.TYPE IN ('ISSN', 'ISBN') 
    GROUP BY K.OBJECT_ID
    HAVING count(distinct K.TYPE) = 2

);

select * 
from aaa
where OBJECT_ID in (@oids);

最佳答案

仅使用不带变量的单个查询

select * 
from aaa
where OBJECT_ID in (SELECT OBJECT_ID
                    FROM aaa K
                    WHERE K.`TYPE` IN ('ISSN', 'ISBN') 
                    GROUP BY K.OBJECT_ID
                    HAVING count(distinct K.TYPE) = 2
                   );

关于mysql - 语法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42069591/

相关文章:

mysql - 如何将具有 188 万行的 .csv 文件中的数据导入 MySQL

php - 在sql数据库中按年份选择

java - Oracle 数据库列数据显示额外的十进制值

php - 获取表单中包含 MySQL 数据的下拉列表数组

mysql - 内连接 "Invalid Object Name"

mysql - 如何在 'Select' SQL 查询中将时间范围拆分为间隔

javascript - jQuery 发布后页面不会刷新

mysql - 来自另一个 SQL 的列的子字符串

php - mysql在更新时获取值的变化

jquery - MySql where 子句中的 case 条件