나는 "수직"을 제외하고 설명하는 방법을 모른다. MSSQL "수직"으로 선택 - 어디에서
은 다음 표를 상상해 : 59, 61 :TAGID|PRODUCTID|SHOP_ID
59 |3418-7 |38
61 |3418-7 |38
60 |4227-4 |38
61 |4227-4 |38
지금 내가 태그 ID와 관련이있는 모든 제품 ID를 반환합니다. 즉,
에 행이있는 제품 ID의 값은 모두 태그 ID입니다.
그래서 나는 3418-7을 반환 할 수 있지만 4227-4
은 어떻게 SQL 문에 가능한 한이 간단하게 작성합니까?
이
는 지금까지이 작업 문이지만, 나는이 훨씬 스마트 한 방법으로 할 수있는 느낌 :SELECT
productid
FROM shop_tag_relations
WHERE
productid IN (select productid from shop_tag_relations WHERE tagid=59)
AND
productid IN (select productid from shop_tag_relations WHERE tagid=61)
GROUP BY productid,shop_id
이것은 무엇을 의미 하는가? "tagID와 관련된 모든 제품 ID : 59,61" – YXD
tagid 59 및 61과 관련된 productid를 리턴합니다. 이것은 한 테이블의 제품과 다른 테이블의 태그 사이의 관계를 그릴 수있는 관계 테이블입니다. 예를 들어 3418이 남성용 갈색 신발 인 경우 59 번 태그는 신발 일 수 있고 61 번 태그는 남성용, 72 가지 갈색 등일 수 있습니다. – Esben