![](/img/trans.png)
[英]I'm trying to pull data from database where the data will be pulled from two different tables in the db,error is in $returns = mysql_query
[英]Mysql query error when trying to extract from two different tables with where clause
当我尝试从列数据匹配的两个不同表中提取数据时,我无法检索查询结果(第一个表的黑白列和第二个表的列)
我使用以下2种方法:
SELECT a.*, FROM `table1` a, `table2` b
WHERE a.`synonyms` in (b.`synonyms`);
要么
SELECT a.*, FROM `table1` a, `table2` b
WHERE a.`synonyms`=b.`synonyms`;
和
SELECT * FROM `table1` where `synonyms` in (SELECT `synonyms`from `table2`WHERE 1);
显示错误的第一个查询:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM `table1` a, `table2` b WHERE' at line 1
第二个查询运行时间很长,最后没有显示任何内容,除了:显示查询。
我在这里犯什么错误?
PS:tabel1和表都具有同义词列(同义词的值在varchar中)。 table1中大约有30万个同义词(例如:基因名称)。 table2具有大约5000个同义词,它们也存在于table1中。 我想从table1中提取其中包含的5000条信息。
SELECT * FROM `table1` where `synonyms` in ('synonym1','synonym2','synonym3','synonym4');
将SELECT a.*, FROM
更改为SELECT a.* FROM
在第二个查询中,您应该定义WHERE ... ='something'。
正确的语法是WHERE column_name运算符值;
在第一个查询中,您应该删除已经指向的逗号。
更改
SELECT a.*, FROM
至
SELECT a.* FROM
加上在查询中使用join
SELECT a.* FROM `table1` a join `table2` b on (a.synonyms=b.synonyms);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.