Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.
Hello everyone,
Could someone please explain why I'm getting duplicate values even though my query is supposed to prevent them? And if possible, suggest a solution to fix it.
Best regards,
Ornella
Solved! Go to Solution.
Hi @Ornella ,
Thank you for reaching out to Microsoft Fabric Community Forum.
@burakkaragoz @lutz_bendlin Thank you for your quick response.
Could you please try the below SQL query:
WITH CTE AS (
SELECT *,
ROW_NUMBER() OVER (PARTITION BY CAST(DATE_EXEC AS DATE) ORDER BY DATE_EXEC DESC) AS rn
FROM XXXX_CTRL_CARD
WHERE CAST(DATE_EXEC AS DATE) = CAST(GETDATE() AS DATE)
)
DELETE FROM CTE WHERE rn > 1;
If this post helps, then please consider Accepting as solution to help the other members find it more quickly, don't forget to give a "Kudos" โ Iโd truly appreciate it! |
Regards,
B Manikanteswara Reddy
Isn't your query equivalent to
DELETE FROM XXXX_CTRL_CARD
WHERE CAST(DATE_EXEC as DATE) <= GETDATE()
?
Hi @Ornella ,
Unexpected duplicates usually show up when your JOIN brings in more rows than expectedโespecially if the table you're joining to has multiple matching rows.
A couple of things to check:
If you can share a simplified version of your query and table structure, happy to take a closer look!
If my response resolved your query, kindly mark it as the Accepted Solution to assist others. Additionally, I would be grateful for a 'Kudos' if you found my response helpful.
Hi @Ornella ,
Thank you for reaching out to Microsoft Fabric Community Forum.
@burakkaragoz @lutz_bendlin Thank you for your quick response.
Could you please try the below SQL query:
WITH CTE AS (
SELECT *,
ROW_NUMBER() OVER (PARTITION BY CAST(DATE_EXEC AS DATE) ORDER BY DATE_EXEC DESC) AS rn
FROM XXXX_CTRL_CARD
WHERE CAST(DATE_EXEC AS DATE) = CAST(GETDATE() AS DATE)
)
DELETE FROM CTE WHERE rn > 1;
If this post helps, then please consider Accepting as solution to help the other members find it more quickly, don't forget to give a "Kudos" โ Iโd truly appreciate it! |
Regards,
B Manikanteswara Reddy
Hello @v-bmanikante
Thank you for your prompt response. I had already implemented it.
Best regards,
Ornella