我正在尝试查询数据库中的表以填充表单上的下拉字段。 我希望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
按字母顺序排序答案 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
这让我的下拉工作了。谢谢你们的帮助。让我找到合适的地方!