用于填充下拉字段的SQL查询

时间:2016-09-19 14:05:08

标签: sql tsql

我正在尝试查询数据库中的表以填充表单上的下拉字段。 我希望Field1作为显示,而Field2作为我插入的值。

select '[CategoryName]','[CatID]' from BND_ListingCategories

上述查询只会将[CategoryName]填充为下拉列表中的所有值。

现在确定我做错了什么。

更新:

嘿伙计们, 所以我想我理解为什么我的查询不起作用我需要添加一个join语句,因为(CategoryName)字段在另一个表上。

即便如此,使用此更新的查询我现在收到错误 错误:不明确的列名称'CatID'。

select [CategoryName],[CatID] from BND_ListingCategories
inner join BND_Listing
on BND_ListingCategories.CatID=BND_Listing.CatID
where LID=1

更新2

好的,所以我正在取得进展,为傻瓜提供了方便的OL SQL。

通过编辑我的查询来解决我的模糊问题。

select c.CategoryName, l.CatID
from BND_ListingCategories AS c INNER JOIN BND_Listing as l
on c.CatID = l.CatID

让它工作只是试图看看我如何按CategoryName

按字母顺序排序

3 个答案:

答案 0 :(得分:3)

从列名中删除单引号。

select [CategoryName],[CatID] from BND_ListingCategories

如果您想使用类别名称排序,请使用ORDER BY。

   select c.CategoryName, l.CatID
   from BND_ListingCategories as c 
       INNER JOIN BND_Listing as l
           on c.CatID = l.CatID
    Order by c.CategoryName

答案 1 :(得分:2)

你的语法只是一点点。删除引号,然后您将返回查询结果。

select [CategoryName],[CatID] from BND_ListingCategories

您应该只需要修改选择列表以指定要从中提取该列的表。您可能需要在select语句中的两列中执行此操作。

修改新的更新问题:

select [CategoryName], BND_Listing.[CatID] from BND_ListingCategories
inner join BND_Listing
on BND_ListingCategories.CatID=BND_Listing.CatID
where LID=1

答案 2 :(得分:0)

select distinct c.CategoryName, l.CatID
from BND_ListingCategories AS c INNER JOIN BND_Listing as l
on c.CatID = l.CatID
ORDER BY CategoryName ASC

这让我的下拉工作了。谢谢你们的帮助。让我找到合适的地方!