所以我有两个表,一个是RAWtable,另一个是MAINtable,如果存在多个记录(比较相同的名称,代码),我必须得到最新的groupID.例如,我在RAWtable上有这个:
id groupid name code
1 G09161405 Name1 Code1
2 G09161406 Name1 Code1
Run Code Online (Sandbox Code Playgroud)
这两个记录应该被视为一个,并且只应返回此值:
id groupid name code
2 G09161406 Name1 Code1
Run Code Online (Sandbox Code Playgroud)
此行是shiuld在主表中插入的唯一行.提供返回最新的GroupID(groupid是日期和时间的组合)
我试过这个,但它不起作用:
SELECT MAST.ID, MAST.code, MAST.name FROM RAWtable AS MAST INNER JOIN
(SELECT code, name, grouid,id FROM RAWtable AS DUPT GROUP BY code, name, groupid,id HAVING COUNT(*) >= 2) DUPT
ON DUPT.code =MAST.code and DUPT.name =MAST.name where dupt.groupid >mast.groupid
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?非常感谢.
我有两个表TABLE1,它们看起来像:
id name address
1 mm 123
2 nn 143
Run Code Online (Sandbox Code Playgroud)
和TABLE2 w/c看起来像:
name age
mm 6
oo 9
Run Code Online (Sandbox Code Playgroud)
我想通过比较来获得不存在的名称TABLE1用TABLE2.
所以基本上,我必须得到第二行,w/c有一个不存在的NN名称,TABLE2输出应该如下所示:
id name address
2 nn 143
Run Code Online (Sandbox Code Playgroud)
我试过这个,但它不起作用:
SELECt w.* FROM TABLE1 W INNER JOIN TABLE2 V
ON W.NAME <> V.NAME
Run Code Online (Sandbox Code Playgroud)
它仍然获得现有记录.
我使用sqso我有3个字段:
ID CustomerNo Date
1 0009 9/9/2011
2 0009 9/9/2011
3 0009 9/9/2011
4 0010 9/9/2011
Run Code Online (Sandbox Code Playgroud)
我想确定具有相同customerno和date的记录,并获得每个唯一ID.
ID CustomerNo Date
1 0009 9/9/2011
2 0009 9/9/2011
3 0009 9/9/2011
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?我试过这段代码:
SELECT DISTINCT S1.ID, S1.customerno, S1.DATE
FROM TABLE AS S1
INNER JOIN TABLE AS S2
ON S1.DATE=S2.DATE AND S1.CUSTOMERNO=S2.CUSTOMERNO
AND S2.id <= S1.id
GROUP BY S1.customerno, S1.id , S1.DATE
Run Code Online (Sandbox Code Playgroud)
但它也获得了第4号记录,不同的客户没有,但具有相同的日期.
我想只获得customerno和date中重复的那些.