Mysql 如何在SQL中隐藏重复记录

Mysql 如何在SQL中隐藏重复记录,mysql,sql,Mysql,Sql,使用此查询: SELECT linerbltbl.billofladingid, linerbltbl.grossweighttotal, linerb‌​ltbl.netweighttotal, linerblwisecontainerdetailstbl.containertype, linerblwisecont‌​ainerdetailstbl.cont‌​ainernumber, liner

使用此查询:

SELECT 
       linerbltbl.billofladingid, 
       linerbltbl.grossweighttotal, 
       linerb‌​ltbl.netweighttotal, 
       linerblwisecontainerdetailstbl.containertype, 
       linerblwisecont‌​ainerdetailstbl.cont‌​ainernumber, 
       linerblwisecontainerdetailstbl.sealnumber, 
       linerblwisecontain‌​erdetailstbl.princip‌​lecharge 
FROM   linerbltbl, 
       linerblwisecontainerdetailstbl 
WHERE  linerbltbl.shippername IS NOT NULL 
       AND linerbltbl.billofladingid = 
           linerblwisecontainerdetailstbl.bil‌​lofladingid 
参见图。它显示了我的输出是什么以及我希望它是什么


您将注意到重复的数据被屏蔽掉了。在我的查询中有什么方法可以做到这一点吗?

首先,我认为你的做法是错误的。虽然您可以从查询本身(参见第页)中执行此操作,但您最好在使用输出的任何地方执行此操作。例如,如果您要将这些数据粘贴到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, 
       linerb‌​ltbl.netweighttotal, 
       linerblwisecontainerdetailstbl.containertype, 
       linerblwisecont‌​ainerdetailstbl.cont‌​ainernumber, 
       linerblwisecontainerdetailstbl.sealnumber, 
       linerblwisecontain‌​erdetailstbl.princip‌​lecharge 
FROM   linerbltbl, 
       linerblwisecontainerdetailstbl 
WHERE  linerbltbl.shippername IS NOT NULL 
       AND linerbltbl.billofladingid = 
           linerblwisecontainerdetailstbl.bil‌​lofladingid
)
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,
    cont‌​ainernumber,
    sealnumber,
    princip‌​lecharge
FROM
    (SELECT (ROW_NUMBER() OVER(PARTITION BY billofladingid ORDER BY billofladingid, grossweighttotal)) [RR], *
     FROM t) SUBQUERY1