0이 아닌 첫 번째 값만 표시하고 모든 값이 0인 경우 조인된 테이블과 별도의 테이블에 열의 첫 번째 인스턴스를 표시하는 방법이 있나요?
P粉563831052
P粉563831052 2024-02-21 12:58:34
0
2
298

두 테이블은 상당히 크고 내 select 문에는 내가 얻는 것보다 더 많은 값이 있지만 내 질문에 답하기 위해 이 데이터와 쿼리를 단순화할 수 있다고 생각합니다.

이것은 제가 선택한 진술입니다:

으아악

그래서 테이블이 두 개네요. 송장 테이블 및 InvoiceItem 테이블. 각 테이블의 InvoiceNum 열로 결합되어 InvoiceNum 및 Layer 열을 표시합니다

이 쿼리의 결과는 다음과 같습니다.

으아악

내 InvoiceItem 테이블에는 1 InvoiceNum에 할당할 수 있는 여러 행이 있으므로 결과에 InvoiceNum이 중복되어 원하지 않습니다.

이것은 송장 테이블에서 1개의 송장 번호만 나열하려는 결과입니다. 여기서 첫 번째 사례는 InvoiceItem 테이블의 레이어 열에서 0이 아닌 값이고 0이 아닌 값이 없는 경우 , 첫 번째 A 0을 나열하십시오.

다음과 같이 시도해 보세요.

으아악

이 작업을 수행하는 방법을 잘 모르겠습니다. 아니면 서로 다른 두 테이블에 있다는 점을 고려하면 가능할까요?

P粉563831052
P粉563831052

모든 응답(2)
P粉310931198

가정/이해:

  • 사용됨 sybase 标记,但问题并没有区分 4x 不同的 Sybase RDBMS 产品(ASESQLAnywhereIQAdvantage), 따라서 일반적인 SQL 구문을 사용하겠습니다(예: 4x 제품은 서로 다른 SQL 방언을 가지고 있으며 ASE는 CTE를 지원하지 않습니다)
  • OP의 left (outer) join 的使用,因为提供的输出似乎没有表明 InvoiceItem 답변에 "누락된" 줄이 있다는 것을 이해하지 못합니다.
  • 불분명
  • LayerInvoiceItemNum 列属于哪个表,因此我假设它们属于 InvoiceItem
최소한의 테이블 정의 및 관련

문 세트를 추측해 보세요. insert 으아악

OP의 현재 출력을 생성하는 쿼리:

으아악

OP에서 원하는 출력을 생성하기 위한 몇 가지 다른(복잡하고 지저분한) 아이디어:

으아악

두 가지 모두 생성됩니다:

으아악

참고:

    나에게 출력이 나타나지 않고 OP가 필요성을 보여주었기 때문에 출력이 무엇인지 잘 모르겠습니다.
  • left (外部)join
  • (Sybase)SAP에서 테스트된 모든 쿼리
  • ASE 16.0
P粉551084295

이 질문은 조금 까다롭습니다.

Postgres에서 사용해 보세요:

으아악

데모

MySQL 8:

이것을 시도해 보세요:

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!