0

これが私のクエリで、テーブルの内容が一致していても3行目が表示されません。

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         |
==============================================
4

1 に答える 1

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;
于 2013-10-13T15:10:35.663 に答える