选择数据IN(子查询)

时间:2015-08-03 09:03:10

标签: mysql select

此查询正常工作:

SELECT * 
  FROM PRODUKTY WHERE Id_sklep_kategorie IN(669, 670, 671, 672, 
                                            673, 674, 683, 686, 
                                            687, 688, 689, 690, 
                                            691, 692, 693, 694, 
                                            695, 696, 697, 698, 
                                            699, 700, 701, 845, 
                                            846, 847, 848, 849, 
                                            850, 851, 898);

但我想更自动地使用它,所以我尝试了这个:

SELECT * 
  FROM PRODUKTY WHERE Id_sklep_kategorie IN(SELECT Id_sklep_kategorie 
                                              FROM SKLEP_KATEGORIE); 
  • 但是它返回了我所有记录......

我该怎么做?

1 个答案:

答案 0 :(得分:0)

当您从inquery中选择所有Id_sklep_kategorie时,它应该返回所有记录。现在您已从inquery中选择了所有ID,您将获得整个查询中的所有记录。根据我的理解,如果您需要这些特定行,则需要传递ID。