猿问

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

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'];?><?}?>


神不在的星期二
浏览 102回答 2
2回答

忽然笑

实际上,结果中是有两个同名列都有的,但这样不好解析,可以用别名(alias)SELECT&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;table1.column1&nbsp;AS&nbsp;column_alias1, &nbsp;&nbsp;&nbsp;&nbsp;table2.column1&nbsp;AS&nbsp;column_alias2FROM &nbsp;&nbsp;&nbsp;&nbsp;table1,&nbsp;table2;这样结果中的两列column_alias1和column_alias2,分别就是table1的column1和table2的column1了。话说你都知道用表的alias了,还不知道用列的alias,下面是混合使用别名。SELECT &nbsp;&nbsp;&nbsp;&nbsp;a.c1, &nbsp;&nbsp;&nbsp;&nbsp;a.c2&nbsp;AS&nbsp;ca1, &nbsp;&nbsp;&nbsp;&nbsp;b.c2&nbsp;AS&nbsp;ca2, &nbsp;&nbsp;&nbsp;&nbsp;b.c3FROM &nbsp;&nbsp;&nbsp;&nbsp;table1&nbsp;AS&nbsp;a, &nbsp;&nbsp;&nbsp;&nbsp;table2&nbsp;AS&nbsp;b;这样结果会有四列,c1、ca1、ca2、c3。你也可以混合用通配符*,但这样会把原名和别名的列一起放到结果中,不过并不影响解析,你知道你要的是啥就行了。
随时随地看视频慕课网APP
我要回答