2011-10-28 2 views
0

SQL을 학습하는 중입니다. 나는 모든 주문에 대한 세부 사항이있는 테이블을 가지고있다. 특정 품목이 들어있는 모든 주문을 찾아야합니다. 그래서 주문 번호를 얻으려면 ItemID = 102011을 선택해야하며 OrderId가 해당 항목이있는 모든 레코드를 선택해야합니다. 나는 이것이 어떻게 일어날 지 정확하게 모릅니다.학습 SQL - ItemID를 기반으로 동일한 테이블에서 세부 정보 선택

모든 것이 하나의 테이블에 있습니다.

덕분에이 같은

+0

테이블 정의를 추가하십시오. 이것은 귀하의 질문에 대답하는 데 도움이 될 것입니다. – Pieter

답변

0

시도 뭔가 (테이블 구조의 일정 금액을 가정) :

select * 
from yourOrdersTable 
where ItemID = 102011 
order by OrderId 
0

확실하지 하나 개의 테이블에 당신이 모든 것을 의미하는 것입니다. 테이블 구조를 게시 할 수 있습니까?

SELECT * FROM <orders_table> 
WHERE order_id IN (SELECT * FROM <orders_table> WHERE ItemID = 102011) 

또는이 SQL의 사용자의 취향에 따라 가능성이 것이

SELECT * FROM <orders_table> WHERE ItemID = 102011 ORDER BY OrderId 
0

하지만, SQL에 다음과 같은 서버 일이 잘 작동이 있음을 offshot에서 당신이 찾고있는 무엇 :

SELECT * FROM OrdersItems WHERE OrderID IN (SELECT OrderID FROM OrderItems WHERE ItemId = 102011) 
관련 문제