Php 如何基于null和NOTNULL将具有相同字段的两个表行和列合并为一行?
几年来,我一直在使用PHP和MySQL开发基于Web的应用程序。几天来,我对我的查询一直有问题。如果可能的话请帮忙 我的情景 我有两张表,如下所示: 表1 表2 根据我的项目场景,我必须将两个表放在同一列中。m_id 2是表1中表2中的参考。我需要查询这些结果为以下行的表: 查询结果Php 如何基于null和NOTNULL将具有相同字段的两个表行和列合并为一行?,php,mysql,codeigniter,Php,Mysql,Codeigniter,几年来,我一直在使用PHP和MySQL开发基于Web的应用程序。几天来,我对我的查询一直有问题。如果可能的话请帮忙 我的情景 我有两张表,如下所示: 表1 表2 根据我的项目场景,我必须将两个表放在同一列中。m_id 2是表1中表2中的参考。我需要查询这些结果为以下行的表: 查询结果 我需要根据null和notnull值比较两行的结果。我希望我能让你理解!我把这捆了好几天。我得到了一些使用合并函数的提示。但无法达到预期的结果 您可以这样做: SELECT COALESCE (a.col1,
我需要根据null和notnull值比较两行的结果。我希望我能让你理解!我把这捆了好几天。我得到了一些使用合并函数的提示。但无法达到预期的结果 您可以这样做:
SELECT
COALESCE (a.col1, b.`col1`) AS col1,
COALESCE (a.col2, b.`col2`) AS col2,
COALESCE (a.col3, b.`col3`) AS col3,
COALESCE (a.col4, b.`col4`) AS col4
FROM
a
INNER JOIN b
ON (a.id = b.id) ;
看起来您需要对列中的值执行操作和。 如果是: | m_id | COL1 | COL2 | COL3 | COL4 | | 2 | 1 | 0 | 0 | 0 | | m_id | COL1 | COL2 | COL3 | COL4 | | 2 | 1 | 1 | 0 | 0 |
SELECT
COALESCE (a.col1, b.`col1`) AS col1,
COALESCE (a.col2, b.`col2`) AS col2,
COALESCE (a.col3, b.`col3`) AS col3,
COALESCE (a.col4, b.`col4`) AS col4
FROM
a
INNER JOIN b
ON (a.id = b.id) ;
SELECT Table1.m_id, (Table1.COL1 AND Table1.COL2) AS COL1 /* ,same for the rest of the columns */ FROM Table1 LEFT JOIN Table2 ON Table1.m_id=Table2.m_id