2009-06-01 2 views
1
Select a, b, c from table where a in (1, 2, 3) 

목록이 열에 있으면 어떻게됩니까? MS-SQL In 문

나는이 오류가 발생하지하려고 : 내 질문을 취소하지 않는

Select a, b, c from a in b 

죄송합니다.

그것은 약

열 B 타입은 NVARCHAR이다 (표에서 B를 선택)에 또는 가입 아니에요, 데이터 목록이 '1,2,5'

열 A처럼,이다 type은 int입니다.

+0

질문이 명확하지 않습니다. 너의 테이블은 뭐니? 그들의 컬럼은 무엇입니까? 달성 할 수없는 쿼리의 예상 결과는 무엇입니까? –

답변

-3

테이블에 가입하고 싶습니까?

SQL에서
SELECT a, b, c 
FROM a 
JOIN b ON a.ID=b.ID 
+0

열 b는 목록입니다. – March

0

, 열은 일반적으로 소위 "라"데이터 유형 중 하나이고 : 숫자, 날짜/시간, 문자열 - 참조 예 MSDN. 어떤 의미에서 더 잘 설명하면 b 열에 '목록'이 있으며 방법은 어떻게됩니까? CREATE TABLE a 성명을 표시하면 도움이 될 수 있습니다! 그것을해야

SELECT 
    a,b,c 
FROM 
    tblA 
WHERE 
    b LIKE CAST(a as nvarchar) + ',%' 
    OR b LIKE '%,' + CAST(a as nvarchar) + ',%' 
    OR b LIKE '%,' + CAST(a as nvarchar) 

을 :

1

질문을 읽고 나면, 이것은 당신이 원하는 것입니다.

+0

아니요. 쉼표의 위치를 ​​확인하십시오. 벌써 다 알아 냈어. 부야. – Eric

+0

@ Eric : 네 말이 맞아요, 나는 코멘트를 삭제할 것입니다. – Andomar

1

많은 올바른 방향으로 가리키는 답변,하지만 난이 일이 정말 작동합니다 생각 :

SELECT a, b, c 
FROM table 
WHERE ',' + b + ',' LIKE '%,' + CAST(a as varchar) + ',%' 

당신은 B 시작을 적용하여 속도를 쉼표로 종료 할 수 있습니다. 또는 데이터베이스를 표준화하고 일대 다 관계를 사용하여 열 B를 자체 테이블로 이동하십시오.