2013-10-13 34 views
0

這是我的查詢,它不顯示第三行,即使表內容匹配。內部連接兩行後不工作?

SELECT shopcategory_idcategory_name 
FROM shopcategory 
INNER JOIN category ON shopcategory_id=category_id; 

結果:

================================================================ 
| shopcategory_id | shopcategory_shopid | category_name | 
================================================================ 
|  1  |   1   |  Gadgets  | 
|  2  |   2   |  Analog Device | 
================================================================ 

這裏是我的查詢,顯示有3行

SELECT * FROM shopcategory; 

結果:

=================================================================== 
| shopcategory_id | shopcategory_shopid | shopcategory_categoryid | 
=================================================================== 
|  1   |   1   |   1   | 
|  2   |   2   |   2   | 
|  3   |   3   |   3   | 
=================================================================== 

編輯:查詢我的類別表

SELECT * category; 

結果:

============================================== 
| category_id |  category_name  | 
============================================== 
|  1   |  Gadgets   | 
|  2   |  Analog Device  | 
|  3   |   Beauty   | 
|  4   |  Keyboard  | 
|  5   |  Instruments  | 
|  6   |   Monitor  | 
|  7   |   Chairs   | 
============================================== 
+0

什麼是表名?試試我的例子,告訴我它是否適合你?你會得到什麼輸出? –

+0

仍然沒有第三排。這有點奇怪,因爲我插入了一個新的數據,並顯示第4行。 –

+0

等一下,只是編輯了代碼!什麼是表名? –

回答

0

你應該在這裏使用LEFT JOIN代替,並添加aliases爲要加入的表上,這樣:

SELECT 
    tableName1.shopcategory_id, 
    tableName1.category_name, 
    tableName2.category_id 
FROM 
    tableName1 as tb1 
LEFT JOIN 
    tableName2 AS tb2 
ON 
    tb1.shopcategory_id = tb2.category_id 
GROUP BY 
    tb1.shopcategory_id;