亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么查看父表的ID和名稱以及子表的名稱會出現這種樣式的結果和查看子表ID、名稱和父表的名稱會不一樣。

規律我倒是能總結出來,但是我反反復復看了一上午,就是搞不明白,為什么會出現12分13秒那種樣式的表格,為什么會和前面的輸出結果不一樣。

正在回答

2 回答

原因在于建立表的時候就將type_id 與parent_id 做了關聯

|?type_id?|?type_name???????|?parent_id?|
+---------+-----------------+-----------+
|???????1?|?家用電器????????|?????????0?|
|???????2?|?電腦、辦公??????|?????????0?|
|???????3?|?大家電??????????|?????????1?|
|???????4?|?生活電器????????|?????????1?|
|???????5?|?平板電視????????|?????????3?|
|???????6?|?空調????????????|?????????3?|
|???????7?|?電風扇??????????|?????????4?|
|???????8?|?飲水機??????????|?????????4?|
|???????9?|?電腦整機????????|?????????2?|
|??????10?|?電腦配件????????|?????????2?|
|??????11?|?筆記本??????????|?????????9?|
|??????12?|?超級本??????????|?????????9?|
|??????13?|?游戲本??????????|?????????9?|
|??????14?|?CPU?????????????|????????10?|
|??????15?|?主機????????????|????????10?|

看上面的輸出,家用電器和電腦辦公的parent_id 為0,而type_id列 沒有為0的,所以他們沒有父類;大家電和生活電器的parent_id為1,那么type_id為1的就是家用電器,所以家用電器是他們的父類;依次類推,平板電視和空調的父類就是大家電。。。。

那么也就是說要用子表的parent_id去和父表的type_id做連接。也就是說x.parent_id,這個x是誰誰就是子表

SELECT s.type_id,s.type_name,p.type_name FROM tdb_goods_types AS s LEFT JOIN tdb_goods_types AS ?p ON s.parent_id = p.type_id;

這一段是用子表左交父表,由于0父表沒有,所以會產生NULL

SELECT p.type_id,p.type_name,s.type_name FROM tdb_goods_types AS p LEFT JOIN tdb_goods_types AS ?s ON s.parent_id = p.type_id;

這一段使用父表左交子表,子表中沒有5,6,7,8,11,12,13,14,15,這9項子表中沒有,所以產生9個NULL.

后面再通過GROUP BY,ORDER BY,就產生出你看到的那些

2 回復 有任何疑惑可以回復我~

SELECT s.type_id,s.type_name,p.type_name FROM tdb_goods_types AS s LEFT JOIN tdb_goods_types AS ?p ON s.parent_id = p.type_id; ??

SELECT s.type_id,s.type_name,p.type_name FROM tdb_goods_types AS s LEFT JOIN tdb_goods_types AS ?p ON p.parent_id = s.type_id;

注意兩條語句 ON 條件不同,上面顯示的是所有類及其父類 ,下面顯示的是所有類及其子類,我好暈,誰能救救我

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
與MySQL的零距離接觸
  • 參與學習       396743    人
  • 解答問題       3497    個

本課程涵蓋全部MySQL數據庫的基礎,學習MySQL數據庫的基礎知識

進入課程

為什么查看父表的ID和名稱以及子表的名稱會出現這種樣式的結果和查看子表ID、名稱和父表的名稱會不一樣。

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號