>

다음과 같은 주문 테이블이 있습니다.

produkt_id ordernumber
2075        12345
3456        12345
1123        12345
1212        54321
1166        54321

이제 produkt_id = 2075 위치를 기준으로 모든 제품을 선택하고 첫 번째 선택에서 얻은 주문 번호를 기반으로 동일한 주문에서 다른 모든 제품을 선택하고 싶습니다.-produkt_id = 2075

나는 이것과 다른 것들의 다른 변형을 시도했다.

select * from ordrar o where o.produkt_id=2075 and  o.ordernummer in (select p.ordernummer from ordrar p where p.ordernummer=o.ordernummer);

모든 의견에 감사드립니다.

  • 답변 # 1

    주문 번호가 produkt_id (2075) 인 주문 번호가 모두 필요하므로 주문 번호 2075를 가져와 주문 번호가 동일한 모든 데이터를 가져올 수 있습니다.

    select * from ordrar  where ordernummer = (select ordernummer from ordrar  where produkt_id = 2075);
    
    

    결과는 다음과 같습니다.

    produkt_id ordernumber
    2075        12345
    3456        12345
    1123        12345
    
    

  • 답변 # 2

    제품 2075가 포함 된 주문을 검색하여 원하는 결과를 찾을 수 있습니다.

    SELECT *
    FROM ordrar
    WHERE ordernumber IN (
      SELECT ordernumber
      FROM ordrar
      WHERE produkt_id =2075
    )
    
    

    샘플 데이터에 대한 출력 :

    produkt_id  ordernumber
    2075        12345
    3456        12345
    1123        12345
    
    

    dbfiddle 데모

관련 자료

  • 이전 python - 웹 사이트의 형식 차단기가 Scrapy 스파이더를 중지시킵니다
  • 다음 java - AsyncTask를 사용한 후에도 안드로이드에서 프레임을 건너 뛰는 안무가 (최대 400!)