Mysql 如何在SQL中隐藏重复记录
使用此查询:Mysql 如何在SQL中隐藏重复记录,mysql,sql,Mysql,Sql,使用此查询: SELECT linerbltbl.billofladingid, linerbltbl.grossweighttotal, linerbltbl.netweighttotal, linerblwisecontainerdetailstbl.containertype, linerblwisecontainerdetailstbl.containernumber, liner
SELECT
linerbltbl.billofladingid,
linerbltbl.grossweighttotal,
linerbltbl.netweighttotal,
linerblwisecontainerdetailstbl.containertype,
linerblwisecontainerdetailstbl.containernumber,
linerblwisecontainerdetailstbl.sealnumber,
linerblwisecontainerdetailstbl.principlecharge
FROM linerbltbl,
linerblwisecontainerdetailstbl
WHERE linerbltbl.shippername IS NOT NULL
AND linerbltbl.billofladingid =
linerblwisecontainerdetailstbl.billofladingid
参见图。它显示了我的输出是什么以及我希望它是什么
您将注意到重复的数据被屏蔽掉了。在我的查询中有什么方法可以做到这一点吗?首先,我认为你的做法是错误的。虽然您可以从查询本身(参见第页)中执行此操作,但您最好在使用输出的任何地方执行此操作。例如,如果您要将这些数据粘贴到MS Excel中,您可以通过条件格式检查post。如果您是从内部代码中使用它,您可以添加逻辑来处理它(因为我不知道您将如何处理它,很难添加任何示例) 但是,如果您坚持从SQL内部执行此操作,将会产生类似的效果(借用链接示例):
从表中选择distinct*
?很抱歉,我在上载图像时遇到了一些问题。现在请检查图像\请不要发布代码或样本数据的图像。添加格式化的示例输入和预期输出以及其背后的逻辑。另外,发布您到目前为止尝试过的内容。您确定这是一个SQL问题而不是SSRS问题吗?我尝试选择LinerBLTbl.BillOfLadingID、LinerBLTbl.GrossWeightTotal、LinerBLTbl.NetWeightTotal、LinerBLWiseContainerDetailsTbl.ContainerType、LinerBLWiseContainerDetailsTbl.ContainerNumber、LinerBLWiseContainerDetailsTbl.SealNumber,LinerBlWiseContainerDetailsBl.Principle从LinerBLTbl、LinerBlWiseContainerDetailsBl充电,其中LinerBLTbl.ShipperName不为null,LinerBLTbl.BillOfLadingID=LinerBlWiseContainerDetailsBl.BillOfLadingID
;with t as
(SELECT
linerbltbl.billofladingid,
linerbltbl.grossweighttotal,
linerbltbl.netweighttotal,
linerblwisecontainerdetailstbl.containertype,
linerblwisecontainerdetailstbl.containernumber,
linerblwisecontainerdetailstbl.sealnumber,
linerblwisecontainerdetailstbl.principlecharge
FROM linerbltbl,
linerblwisecontainerdetailstbl
WHERE linerbltbl.shippername IS NOT NULL
AND linerbltbl.billofladingid =
linerblwisecontainerdetailstbl.billofladingid
)
SELECT
CASE WHEN RR = 1 THEN billofladingid ELSE '' END BillOfLadingID,
CASE WHEN RR = 1 THEN grossweighttotal ELSE '' END GrossWeight,
CASE WHEN RR = 1 THEN netweighttotal ELSE '' END NetWeight,
containertype,
containernumber,
sealnumber,
principlecharge
FROM
(SELECT (ROW_NUMBER() OVER(PARTITION BY billofladingid ORDER BY billofladingid, grossweighttotal)) [RR], *
FROM t) SUBQUERY1