MySQL JOIN对不同的列名称

时间:2013-12-19 16:39:56

标签: php mysql

我有两个表具有相似的数据,但列名完全不同。我在PHP页面中进行查询,然后使用echo语句中的数据,如下所示:

<?php echo($row['bedrooms']); ?>

当前查询如下所示:

$sql_query = "SELECT mls_number, city, list_price, bedrooms 
                  FROM bonita_property_res 
                  WHERE city = "Bonita" AND list_price >= 1500000 
                  ORDER BY list_price DESC";

如何连接一个名为naples_property_res的表,看起来像这样,并且仍然可以使用php echo作为其配置?

MLSNumber     City       ListPrice      TotalBeds
--------------------------------------------------
898989   | Bonita    | 200000     |  4

4 个答案:

答案 0 :(得分:1)

听起来您不想使用JOIN,而是使用UNION

SELECT fields FROM bonita_property_res WHERE conditions
UNION SELECT fields FROM naples_property_res WHERE conditions

答案 1 :(得分:1)

使用UNION:

SELECT mls_number, city, list_price, bedrooms FROM bonita_property_res WHERE ...
UNION 
SELECT MLSNumber AS mls_number, City AS city, ListPrice AS list_price, TotalBeds AS bedrooms FROM naples_property_res WHERE ...

列别名 - AS something_else - 确保您不会破坏PHP中的任何引用,例如$行[ '卧室']。

答案 2 :(得分:1)

嗯,你没有告诉我们“完全不同的列名”是什么,但它看起来像这样:

SELECT mls_number, city, list_price, bedrooms 
FROM bonita_property_res 
WHERE city = "Bonita" AND list_price >= 1500000 
ORDER BY list_price DESC
UNION
SELECT entirely, different, column, names
FROM naples_property_res
WHERE ......

答案 3 :(得分:1)

您只需将ALIAS用于列。

$sql_query = "SELECT colA AS mls_number, colB AS city, colC AS list_price, 
                  colD AS bedrooms FROM naples_property_res WHERE ...";

并制作UNION