Php 查询结果中的列数过多
我正在尝试为使用MySQL和PHP的公司列表编写一个简单的界面。所以,我想从我的数据库中获取一些信息 这是我的桌子:Php 查询结果中的列数过多,php,mysql,sql,Php,Mysql,Sql,我正在尝试为使用MySQL和PHP的公司列表编写一个简单的界面。所以,我想从我的数据库中获取一些信息 这是我的桌子: 公司\u数据-仅用于系统信息 公司数据-我想在这里保存大公司的信息 个人数据——我想在这里保留有关小公司的信息 这是桌子 下面是我写的问题: SELECT a.id, a.user_id, a.added, a.`status`, a.company_id, a.company_type, a.deposit,
- 公司\u数据-仅用于系统信息
- 公司数据-我想在这里保存大公司的信息李>
- 个人数据——我想在这里保留有关小公司的信息
SELECT
a.id,
a.user_id,
a.added,
a.`status`,
a.company_id,
a.company_type,
a.deposit,
a.individual_operations_cache,
a.corporate_operations_cache,
a.physical_operations_cache,
b.full_name,
b.tax_number,
b.address,
b.statement_date,
b.psrn,
c.full_name,
c.tax_number,
c.address,
c.statement_date,
c.psrn
FROM
companies_data a
LEFT OUTER JOIN corporate_data b
ON (a.company_id = b.id) AND a.company_type = 0
LEFT OUTER JOIN individual_data c
ON (a.company_id = c.id) AND a.company_type = 1
WHERE
a.user_id = 3
这只是一个测试的代码,我将很快扩展它
如您所见,我得到的结果包含额外字段,如%field\u name%1、%other\u field\u name%1等等。当然,这不是mysql错误——我已经问过了——但是我想删除这个字段?有可能,或者我必须在应用程序端转换此输出?由于您在查询中选择了%field\u name%1,%other\u field\u name%1,因此它们是可见的: b、 全名, b、 税号, b、 地址:, b、 声明日期:, b、 psrn, c、 全名, c、 税号, c、 地址:, c、 声明日期:, c、 psrn 当您在不同的表中使用同名字段时,结果列名随此标识符field1、field2、fieldn。。。为了区分字段来自哪个表。 如果要避免使用此名称,可以使用别名,如下所示: [...] b、 全名作为公司全名, [……] 可能,如果每个公共字段都是重合的,您不需要全部显示它们,所以只需将它们从选择中删除即可 希望对你有用。
Br.您应该使用联合,而不是第二个联合。最好将表
公司数据
和个人数据
合并到一个表中。MySQL本身不会这样做,MySQL的任何PHP扩展也不会这样做。您必须使用添加额外字段的PHP数据访问库,以便关联数组键(或对象字段)不会相互覆盖。但我想这样做,因为创建额外字段以后将很难编辑!我已经创建了另一个查询。(表1连接表2)并集(表1连接表3),它工作得非常好。谢谢大家!