我在表格中有记录,如附图所示。所有我需要找到那些具有相同"排序顺序"不同的" packageboxtypeid" w.r.t" CCID"。所以我们需要找到那些具有相同CCID,相同排序顺序但不同packageboxtypeid的记录。请帮忙。
答案 0 :(得分:4)
听起来像这样的东西会起作用。通过def waiting_effects(function):
def new_function(*args, **kwargs):
QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))
try:
return function(*args, **kwargs)
except Exception as e:
raise e
print("Error {}".format(e.args[0]))
finally:
QApplication.restoreOverrideCursor()
return new_function
使用INNER JOIN
,您可以并排比较记录。
SELECT *
但是,如果您只需要一个纯粹的记录列表而不是并排比较,那么您可以使用与SELECT *
FROM [Table] A
INNER JOIN [Table] B
ON A.CCID = B.CCID
AND A.SortOrder = B.SortOrder
AND A.PackageBoxTypeId <> B.PackageBoxTypeId
或EXISTS
相关的子查询,因为@gmiley指出在评论中。我选择IN
作为示例,因为我不知道您的EXISTS
是否具有NULL值,但是当有NULL列时,我会远离PackageBoxTypeId
。
IN
答案 1 :(得分:2)
SELECT DISTINCT t1.*
FROM table1 t1
INNER JOIN table1 t2
ON t1.CCID = t2.CCID
AND t1.sortorder = t2.sortorder
AND t1.packageboxtypeid <> t2.packageboxtypeid