sql >> Databáze >  >> RDS >> Mysql

Nelze odfiltrovat opakující se hodnoty v iReportu

Při pohledu na vaše snímky obrazovky se zdá, že se duplikuje na základě počtu značek v každém umístění. To by bylo ze značek spojení, aby bylo možné filtrovat místa. Přidáním odlišnosti do vašeho dotazu dojde k odstranění duplicitních hodnot databáze. Poté budete pravděpodobně chtít znovu zapnout zobrazování duplicitních hodnot, protože se nebude zobrazovat, pokud pro daný díl nakoupíte stejné množství a hodnotu.

SELECT DISTINCT costlayer.qty AS Qty, costlayer.orgqty, costlayer.orgtotalcost,
costlayer.totalcost AS TotalCost, costlayer.datecreated AS DateCreated,
part.num AS PartNumber, part.description as PartDescription, asaccount.name as "InventoryAccount",
company.name AS company, currency.symbol

FROM CostLayer
LEFT JOIN Part ON part.id = costlayer.partid
LEFT JOIN Tag ON part.id = tag.partId
LEFT JOIN Location ON tag.locationId = location.id
LEFT JOIN LocationGroup ON location.locationGroupId = locationGroup.id
LEFT JOIN asaccount ON part.inventoryaccountid = asaccount.id
JOIN company ON company.id = 1
LEFT JOIN currency ON currency.homeCurrency = 1

WHERE costlayer.datecreated BETWEEN $P{dateRange1} AND $P{dateRange2}
AND costlayer.statusid IN ($P!{ckShowActiveCostingLayers},$P!{ckShowFulfilledCostingLayers},$P!{ckShowVoidedCostingLayers})
AND UPPER(part.num) LIKE UPPER($P{partNum})
AND (UPPER(COALESCE(asaccount.name,'')) LIKE UPPER('%' || $P{AssetAccount} || '%'))
AND LocationGroup.id LIKE $P{locationGroupID}

ORDER BY (CASE WHEN $P{AssetAccount} NOT LIKE CAST('%' AS varchar(256)) THEN asaccount.name ELSE part.num END), part.num ASC, costlayer.id, costlayer.datecreated



  1. Jak vybrat obsah ze dvou různých tabulek v Mysql?

  2. Jak LOCATE() funguje v MariaDB

  3. PDO Vícenásobné dotazy:potvrzení a vrácení transakce

  4. * Nerozpoznané pole v:databáze Měli jste na mysli?:- metriky - server - protokolování - DROPWIZARD