Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于两个变量的SQL DISTINCT_Sql_Sybase - Fatal编程技术网

基于两个变量的SQL DISTINCT

基于两个变量的SQL DISTINCT,sql,sybase,Sql,Sybase,我试图消除客户ID和规则编号相同的重复值。。你知道怎样才能做到吗 谢谢 SELECT Violations_Temp.Temp_ID as 'ID', Customers.Cust_Name as 'Homeowner', Customers.Add1 as 'Unit', Rules_Main.Rule_Number as 'Rule', Violations_Temp.User_Name as 'Inspector',

我试图消除客户ID和规则编号相同的重复值。。你知道怎样才能做到吗

谢谢

SELECT Violations_Temp.Temp_ID as 'ID', 
   Customers.Cust_Name as 'Homeowner', 
       Customers.Add1 as 'Unit', 
       Rules_Main.Rule_Number as 'Rule', 
        Violations_Temp.User_Name as 'Inspector', 
        DATE(Violations_Temp.Upload_TimeStamp) as 'Date', 
        Cast(Violations_Temp.Upload_TimeStamp as time) as 'Time'
        FROM Violations_Temp 
        JOIN Customers ON Customers.Customer_ID = Violations_Temp.Customer_ID 
        JOIN Rules_Main ON Rules_Main.Rules_ID = Violations_Temp.Violation_ID 
在回复Loc的消息时-您可以从结果中看到(除其他外)房主Adam White有多个记录,其中规则为11-我需要设置此项,以便仅为该组合返回一个记录



(来源:)

这可能不是最优雅的方式,但它很有效。。。(当返回的数据加载到数据表中时)


希望这个查询能起作用。我在这里使用了表别名:

SELECT C.*, T.Upload_TimeStamp, T.User_Name, X.Rule_Number
FROM Customers C,
     Violations_Temp T, 
     (SELECT
            T.Customer_ID,
            R.Rule_Number,
            MAX(T.Upload_TimeStamp) AS MAX_Upload_Timestamp 
      FROM 
        Violations_Temp T,
        Rules_Main R
      WHERE T.Violation_ID = R.Rules_ID
      GROUP BY C.Customer_ID, R.Rule_Number) X
WHERE
T.Customer_ID = C.Customer_ID
AND T.Customer_ID = X.Customer_ID
AND T.Upload_TimeStamp = X.MAX_Upload_Timestamp

您的查询目的是什么?我已编辑查询以显示结果,但您没有重复项。每个ID都是不同的。除非你想从房主和规则那里得到它,否则没有办法做你想做的。我看不到任何重复的客户ID,规则编号。你不是说房主,规则编号吗?你必须定义一个重复的标准。例如,您是对的,对于客户adam white,规则11多次出现,但对于每个结果,都有一个唯一的
违规\u Temp.Upload\u TimeStamp
。我们应该保留哪一个?
SELECT C.*, T.Upload_TimeStamp, T.User_Name, X.Rule_Number
FROM Customers C,
     Violations_Temp T, 
     (SELECT
            T.Customer_ID,
            R.Rule_Number,
            MAX(T.Upload_TimeStamp) AS MAX_Upload_Timestamp 
      FROM 
        Violations_Temp T,
        Rules_Main R
      WHERE T.Violation_ID = R.Rules_ID
      GROUP BY C.Customer_ID, R.Rule_Number) X
WHERE
T.Customer_ID = C.Customer_ID
AND T.Customer_ID = X.Customer_ID
AND T.Upload_TimeStamp = X.MAX_Upload_Timestamp