所以我有一些看起来像这样的数据
Table 1:
MemberID BinaryIndicator PrescriptionMonth
01 1 4
01 2 8
02 2 6
02 1 6
03 1 9
04 1 10
05 2 5
我想提出两个问题。在第一个中,我想要将出现多次的BinaryIndicator
的{{1}}更改为1.在第二个查询中,我希望将指标更改为ID的最高{{} 1}}字段值。如果它结合,则MemberID
将更改为1.例如,ID为01的成员将其PrescriptionMonth
的所有内容更改为2. ID 02将BinaryIndicator
更改为BinaryIndicator
到1。
我尝试获取包含多次显示且具有不同BinaryIndicator
的记录的表的子集,将其命名为BinaryIndicator
。然后我做了以下查询:
Table2
哪个不起作用。我也不知道如何编写第二个查询。
任何想法,建议将不胜感激。我的经历非常有限 在Access / SQL中,我甚至不知道了解这些= /的好消息来源。任何指导学习/练习的地方也将不胜感激!
答案 0 :(得分:0)
第一个查询:
SELECT t.MemberId,
CASE WHEN COUNT(*) OVER (PARTITION BY t.MemberId) > 1 THEN 1
ELSE t.BinaryIndicator END BinaryIndicator,
t.PrescriptionMonth
FROM table1 t;
我不确定你在第二个查询中想要什么。将在评论中提出......
答案 1 :(得分:0)
第一个
UPDATE Table1
SET Table1.BinaryIndicator = 1
WHERE Table1.MemberID IN (SELECT Table1.MemberID
FROM Table1
GROUP BY Table1.MemberID
HAVING COUNT(1) > 1)
AND Table1.BinaryIndicator != 1