Closed. This question needs to be more focused。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
                        
                        5年前关闭。
                                                                                            
                
        
我想用名为ProductIDCategoryIDVendorID的列中的数据填充组合框。

我试图用三个不同的功能填充组合框。但是我想知道,是否还有其他方法可以只用一个查询来填充这些组合框来获取数据。

基本上,我需要一个查询来从表ProductsCategoriesVendors中获取这些记录。

表格包含数据

VendorID
   1
   2

ProductID
   1
   2

CategoryID
   1


我已经尝试过此查询,但是结果不是必需的。

 String query = "Select C.CategoryID,V.VendorID,P.ProductID From Categories C,Vendors V,Products P";


该查询的结果是

CategoryID   VendorID   ProductID
   1            1           1
   1            1           2
   1            2           1
   1            2           2


我需要查询结果看起来像这样

  CategoryID   VendorID   ProductID
       1            1           1
                    2           2

最佳答案

它恰好是您查询的Cartesian JOIN,听起来您尝试从3个互不相关的表中获取数据。因此,让我们定义要查询的表作为字符串,并为所有三个查询定义UNION ALL,以便您可以在客户端(C#或Java)中对其进行过滤!

Select 'Categories' as data_type , C.CategoryID From Categories C
UNION ALL
Select 'Vendors' as data_type , V.VendorID  FROM Vendors V
UNION ALL
Select 'Products' as data_type , P.ProductID From Products P

关于c# - 使用SQL从多个表中获取主键数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21075919/

10-09 08:12
查看更多