簡體   English   中英

如何在兩個或多個表中獲取相同的列?

[英]how can i fetch the same column in two or more tables?

我在所有表中有多個表,有一列名為“名稱”。

我想獲取“名稱”列中的所有值。 像這樣:

$sql = "SELECT names FROM nx1, nx2, nx3";
        $result = $conn->query($sql);

        if ($result->num_rows > 0) {
          // output data

          while($row = $result->fetch_assoc()) {

          echo $row ["names"];

         }
        } else {
           echo "‌empty";
         }

但我收到此錯誤:

 Notice
: Trying to get property of non-object in

抱歉這個奇怪的代碼我是新手:(

您不能像這樣從多個表中選擇一列。 在您的情況下,您想使用 UNION 或 UNION ALL (取決於您嘗試獲得的結果或結果)。 請參閱 UNION 的 MySQL 文檔

在您的情況下,查詢應如下所示:

SELECT `names`
FROM   `nx1` 
UNION 
SELECT `names` 
FROM   `nx2` 
UNION 
SELECT `names` 
FROM   `nx3`

或者

SELECT `names` 
FROM   `nx1` 
UNION ALL
SELECT `names` 
FROM   `nx2` 
UNION ALL
SELECT `names` 
FROM   `nx3`

帶有 UNION ALL 的版本將保留重復的行,而帶有 UNION 的版本將刪除它們,就像您使用 DISTINCT 關鍵字一樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM