JOIN 後如果欄位重複,但是兩個都要顯示,要怎麼識別?

发布于 2022-09-07 16:09:03 字数 351 浏览 7 评论 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'];?>
<?}?>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

素年丶 2022-09-14 16:09:03
SELECT
    p. NAME AS productName,
    p.icon AS productIcon,
    s. NAME AS storeName,
    s.icon AS storeIcon
FROM
    `product` AS p
JOIN `store` AS s ON p.prod_id = s.prod_id
原来分手还会想你 2022-09-14 16:09:03

实际上,结果中是有两个同名列都有的,但这样不好解析,可以用别名(alias)

SELECT 
    table1.column1 AS column_alias1,
    table2.column1 AS column_alias2
FROM
    table1, table2;

这样结果中的两列column_alias1column_alias2,分别就是table1column1table2column1了。

话说你都知道用表的alias了,还不知道用列的alias,下面是混合使用别名。

SELECT
    a.c1,
    a.c2 AS ca1,
    b.c2 AS ca2,
    b.c3
FROM
    table1 AS a,
    table2 AS b;

这样结果会有四列,c1ca1ca2c3

你也可以混合用通配符*,但这样会把原名和别名的列一起放到结果中,不过并不影响解析,你知道你要的是啥就行了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文