账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    JOIN 後如果欄位重複,但是兩個都要顯示,要怎麼識別?
    36
    0
    SELECT * FROM `product` AS p
          JOIN
            `store` AS s ON p.prod_id = s.prod_id

    我 join 完發現我需要 store的 name, icon 以及 product 的name, icon
    這該怎麼辦才好?

    我是這樣顯示的:

    <? while($row = mysqli_fetch_array($data)){?>
          <?=$row['icon'];?>
          <?=$row['name'];?>
    <?}?>
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 从诂 普通会员 1楼

      在SQL中,JOIN後如果欄位重複,但兩個欄位都要顯示,可以使用ON子句來設定條件,讓SELECT語句只選擇重複的欄位。

      例如,假設你有以下兩個表:

      ```sql CREATE TABLE Customers ( CustomerID int, FirstName varchar(50), LastName varchar(50) );

      CREATE TABLE Orders ( OrderID int, CustomerID int, ProductID int, Quantity int, OrderDate date ); ```

      如果你想找出每個客戶的名稱和產品名稱,你可以使用以下SELECT語句:

      sql SELECT Customers.FirstName, Customers.LastName, Orders.ProductName FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

      這樣,SELECT語句只會選擇Customers表和Orders表中CustomerID為同一個的行,也就是重複的CustomerID。如果你只想選擇重複的產品名稱,你可以將ORDERID放在JOIN子句中:

      sql SELECT Customers.FirstName, Customers.LastName, Orders.ProductName FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID INNER JOIN Products ON Customers.CustomerID = Products.CustomerID;

      這樣,SELECT語句只會選擇Customers表和Orders表中CustomerID為同一個的行,並且ORDERID也是一個重複的值。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部