1

세 개의 드롭 다운 상자, 지역, 구/군 및 시가 있습니다. 내 구역 드롭 다운에 "모두 선택"옵션을 지정하여 사용자가 지역의 모든 도시를 가져올 수있게하거나 선택한 지구를 기반으로 도시를 표시하기 만하면됩니다. 내 쿼리는 다음과 같습니다 : 나는 vb.net/sql 을 사용하고"모두 선택"옵션이있는 드롭 다운 목록

IF @district =-2 THEN 
(SELECT DISTINCT city 
FROM myTable 
WHERE RIGHT(Region, 3) = ?) 
ORDER BY city) 
ELSE 
(select DISTINCT city 
    FROM myTable WHERE District = ?) 
Order by city 

나도 내 검색 복잡한 경우의 시나리오를 찾을 수 없습니다. 어떤 sugguestions도 인정 될 것입니다!

+3

무엇이 당신의 질문입니다. – RedFilter

답변

1

나는 당신의 질문이 무엇인지 정말 잘 모르겠지만, 쿼리를 다음과 같이 단순화 할 수 있습니다 :

SELECT DISTINCT city 
FROM myTable 
WHERE (@district = -2 and RIGHT(Region, 3) = ?) 
    or (@district <> -2 and District = ?) 
ORDER BY city 
1

이 방법을, 중 당신의 SQL에 SELECT 문을 추가, 또는를 Page_Load의 옵션을 추가 사용하기 :

if(!Page.IsPostBack) 
{ 
    DropDown1.Items.Insert(0, new ListItem("Select All", 0)); 

} 
+0

옵션이 드롭 다운 메뉴에 추가되어야하지만 이것이 SQL 문제를 어떻게 해결하는지 확신 할 수 없습니다. 그것은 단지 지구 = '0'을 찾지 않을까요? – TheDPQ

+0

정말 늦은 시간에 다시 일하게되어서 유감입니다.하지만 직장에서 찾아보고 OpenID를 구현 했으므로 프록시를 사용하지 못했습니다. 이 상황에서 WHERE (@ District = 0 OR @ District = District) 행을 따라 무언가를 사용하여 0을 'all'로 받아들이도록 SQL 문을 하드 코딩 할 것입니다. –