首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >搜索所有表

问搜索所有表
EN

Stack Overflow用户
提问于 2015-06-11 07:16:43
回答 3查看 53关注 0票数 0

我有点小麻烦。我的数据库里有两张桌子:

servico,与id,nome,profissao (水管工,电工,e),数据和本地。

canalizador,有id,nome,profissao (只有水管工),数据和本地。

我有这样的代码,这样我就可以到达"canalizador“表了:

代码语言:javascript
复制
mysql_connect($host,$user,$passwd) or die (mysql_error());
mysql_select_db($database);

$query = "SELECT * FROM canalizador WHERE profissao LIKE '$profissao'";
$result = mysql_query($query) or die(mysql_error());
$casaArray = array();

但我需要一个代码,在那里我可以搜索所有的表格,如"canalizador“表,只需按下每个职业的按钮(Profissao)在菜单上。如果我这么做:

代码语言:javascript
复制
mysql_connect($host,$user,$passwd) or die (mysql_error());
mysql_select_db($database);

$query = "SELECT * FROM canalizador, carpinteiro WHERE profissao LIKE '$profissao'";
$result = mysql_query($query) or die(mysql_error());
$casaArray = array();

我有一个错误:

where子句中的“profissao”列

EN

回答 3

Stack Overflow用户

发布于 2015-06-11 07:29:28

对两个表执行UNION ALL,在结果中使用LIKE (作为派生表):

代码语言:javascript
复制
select id, nome, profissao, data, local 
from
(
select id, nome, profissao, data, local from servico
UNION ALL
select id, nome, profissao, data, local from canalizador
) dt
where dt.profissao LIKE '$profissao'

或者,正如AsConfused所建议的那样,只是一个UNION ALL

代码语言:javascript
复制
select id, nome, profissao, data, local from servico
where profissao LIKE '$profissao'
UNION ALL
select id, nome, profissao, data, local from canalizador
where profissao LIKE '$profissao'
票数 2
EN

Stack Overflow用户

发布于 2015-06-11 07:24:26

试试这个:

代码语言:javascript
复制
mysql_connect($host,$user,$passwd) or die (mysql_error());
mysql_select_db($database);

$query = "SELECT * FROM canalizador c1, carpinteiro c2 WHERE c1.profissao LIKE '$profissao'";
                                                          // ^ c1 or c2 
$result = mysql_query($query) or die(mysql_error());
$casaArray = array();
票数 0
EN

Stack Overflow用户

发布于 2015-06-11 07:24:46

作为第一个选项,您可以为您的列名指定一个带有关键字的AS别名,即:

代码语言:javascript
复制
SELECT canalizador.column AS col1, carpinteiro.column AS col2 
FROM canalizador, carpinteiro WHERE profissao LIKE '$profissao'

作为第二个选项,您可以重新处理您的SQL查询,并使用MySQL JOIN组合多个表结果,阅读更多有关如何连接表这里和更一般的信息这里的信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30774093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档