Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Ustaw powtarzającą się wartość na 0, pozostawiając pierwszą wartość w spokoju

Dodaj do swojego sql SOITEM."SOID" (sprawdzamy, czy to się powtarza), otrzymujesz pole

<field name="SOID" class="java.lang.Integer"/>

Utwórz grupę na SOID

<group name="SOID">
    <groupExpression><![CDATA[$F{SOID}]]></groupExpression>
</group>

Następnie utwórz zmienną ten reset jest z grupą liczącą wystąpienie SOID

<variable name="SOID_Count" class="java.lang.Integer" resetType="Group" resetGroup="SOID" calculation="Count">
    <variableExpression><![CDATA[$F{SOID}]]></variableExpression>
</variable>

Sekwencja w jrxml tego kodu to

<field name="SOID" class="java.lang.Integer"/>
<variable name="SOID_Count" class="java.lang.Integer" resetType="Group" resetGroup="SOID" calculation="Count">
    <variableExpression><![CDATA[$F{SOID}]]></variableExpression>
</variable>
<group name="SOID">
    <groupExpression><![CDATA[$F{SOID}]]></groupExpression>
</group>

Ta zmienna może być teraz użyta do oceny, czy masz zduplikowany SOID, będzie to >1 po zduplikowaniu SOID

Przykład z textField które wyświetlają 0, jeśli powielony SOID

<textField pattern="###0">
    <reportElement x="143" y="0" width="105" height="20" uuid="a0e2ae10-906e-4d0f-aebd-30fc0c694aca">
    </reportElement>
    <textElement textAlignment="Right" verticalAlignment="Middle"/>
    <textFieldExpression><![CDATA[$V{SOID_Count}<=1?$F{SOITEM_UNITPRICE}:0]]></textFieldExpression>
</textField>

W dniu, w którym chcesz poprawić swój raport, po prostu dodaj groupHeader zespół w swojej grupie, a następnie umieść tekstField w tym zespole




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tablica MySQL nie działa

  2. Definiowanie klucza złożonego z automatycznym przyrostem w MySQL

  3. Zapytanie SQL do pobrania SUMA w różnych zakresach DATY

  4. pobieranie danych z tabeli za pomocą jednego zapytania

  5. 2 sposoby na wyświetlenie listy wszystkich funkcji w MySQL