Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何从文本列表中查询:从('a','b','c'中选择*_Mysql_Sql - Fatal编程技术网

Mysql 如何从文本列表中查询:从('a','b','c'中选择*

Mysql 如何从文本列表中查询:从('a','b','c'中选择*,mysql,sql,Mysql,Sql,我使用的是mysql 5.5,下面是一个带有文本列表的左连接查询: 但它不起作用 您的SQL语法有错误;检查与MySQL服务器版本相对应的手册,以了解第1行a'、'b附近使用的正确语法 如何将此列表作为表格 子查询中缺少select select tbl1.*, details.* from (select 'a', 'b', 'c'... 300+ elements) as 'tbl1' left join details on details.id=tb

我使用的是mysql 5.5,下面是一个带有文本列表的左连接查询:

但它不起作用

您的SQL语法有错误;检查与MySQL服务器版本相对应的手册,以了解第1行a'、'b附近使用的正确语法


如何将此列表作为表格

子查询中缺少select

select tbl1.*, details.* 
    from (select 'a', 'b', 'c'... 300+ elements) as 'tbl1' 
    left join details
    on 
    details.id=tbl1.id
但我不明白你的左撇子应该做什么

[编辑]为您的加入创建临时表

CREATE TEMPORARY TABLE TempTable ( tempcol varchar(100) ) ENGINE=heap; 

insert into TempTable
values ('a'), ('b'), ('c'), 300+ elements);

select TempTable.*, details.*
from TempTable
left join details on details.id = TempTable.tempcol;
使用联合体

看到这个了吗

不使用子查询,您可以先创建一个表tbl1作为

现在可以使用表tbl1进行联接


什么是‘a’、‘b’、‘c’。。。300多个元素here@PSR意思是这是一个包含300多个元素的列表创建临时表并插入所有元素,然后作为正常连接,您可以得到结果您的结果:a | b | id\n a | b | c |您可以包含原始数据和预期结果吗?我只是纠正了你的语法错误。不确定要获得什么结果?在tbl1id值中插入'a','b'…300+也可以这样做,等等clear@Kevin混合理论 如果它解决了你的问题,试着把它当作你的答案。
CREATE TEMPORARY TABLE TempTable ( tempcol varchar(100) ) ENGINE=heap; 

insert into TempTable
values ('a'), ('b'), ('c'), 300+ elements);

select TempTable.*, details.*
from TempTable
left join details on details.id = TempTable.tempcol;
select tbl1.*, details.* 
from (select 'a', 'b', 'c' as id) as tbl1
left join details
on 
details.id=tbl1.id
select tbl1.*, details.* 
from (select 'a'as id
      union
      select 'b' as id
      union
      select 'c' as id
      union
      ...300) as tbl1
left join details
on 
details.id=tbl1.id
create table tbl1
(
id varchar(1)
)

insert into tbl1
select 'a' as id
union 
select 'b' as id
union 
select 'c' as id
....300
select tbl1.*, details.* 
from 'tbl1' 
left join details
on 
details.id=tbl1.id