gpt4 book ai didi

mysql - MySQL 中的函数没有结果

转载 作者:行者123 更新时间:2023-11-29 22:46:40 26 4
gpt4 key购买 nike

我有三张 table 。 Protein,PubMed 和第三个表 ( Protein_has_pubmed ) 正在连接这两个表。

我的sql代码是这样写的:

delimiter $$
create function ListOfPubMedIds(pr_id varchar(15))
returns varchar(500)
begin
Declare xx varchar(500);
select GROUP_CONCAT(pu.PubMedId) into xx
from protein p
join protein_has_pubmed pr on
p.UniprotKB_Accession=pr.Protein_UniprotKB_Accession
join pubmed pu on
pr.PubMed_P_id=pu.P_id
where p.UniprotKB_Accession in('pr_id') ;
return xx;
end$$
delimiter ;

select ListOfPubMedIds('P04637');

但它没有在输出中返回任何值。它只是返回名为

的列
+++++++++++++++++++++++++++++ 
+ ListOfPubMedIds('P04637') +
+++++++++++++++++++++++++++++
+...........................+
+...........................+
+...........................+

当我运行以下查询时:

select GROUP_CONCAT(pu.PubMedId) 
from protein p
join protein_has_pubmed pr on
p.UniprotKB_Accession=pr.Protein_UniprotKB_Accession
join pubmed pu on
pr.PubMed_P_id=pu.P_id
where p.UniprotKB_Accession in('P04637') ;

它给了我正确的结果,例如:

4006916,2946935,3894933,3025664,2905688,1915267,8316628,11058590,16131611,11023613

以下代码再次出现相同的错误:

delimiter $$
create function HTMLLink(E_id varchar(15),E_id_link varchar(200))
returns varchar(350)
begin
Declare xx varchar(350);
select concat('<html><a hreaf=', '"',
E_id_link, '"target="_blank"> <b>',
E_id,'</b></html>') into xx
from disease d
where d.EntryId=E_id and d.EntryIdLink=E_id_link;
return xx;
end$$
delimiter ;

select HTMLLink('P04637','http://pir0.georgetown.edu/cgi-bin/entry_p2p.pl?cui=C0278836') as HTMLLink;

最佳答案

您似乎有一些错误的引用:

where   p.UniprotKB_Accession in('pr_id')

应该是:

where   p.UniprotKB_Accession in(pr_id)

关于mysql - MySQL 中的函数没有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29069334/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com