CHECKSUM_AGG SQL function


1. Usage of CHECKSUM_AGG to find changes in Order Details

SQL Server Query 1

            
SELECT  
o.OrderID,
CHECKSUM_AGG(CAST(o.Freight AS INT)) OVER (PARTITION BY o.EmployeeID) AS OrderChecksum, -- Check for changes in Orders
CHECKSUM_AGG(od.Quantity * CAST(od.UnitPrice AS INT) * (1 - CAST(od.Discount AS INT))) AS OrderDetailsChecksum -- Check for changes in Order Details
INTO #OrderChecksums
FROM Orders AS o
JOIN [Order Details] AS od ON o.OrderID = od.OrderID
GROUP BY o.OrderID, o.Freight, o.EmployeeID
SELECT * FROM #OrderChecksums
DROP TABLE #OrderChecksums;

Create SQL query with SqlQueryBuilder 1

            
var (sql1, parameters1) = new SqlQueryBuilder()  
.Select()
.Column("o.OrderID", "OrderID")
.Column(new CHECKSUM_AGG(new CAST(new Column("o.Freight"), SqlDataType.INT))
.OVER(new OVER().PARTITION_BY(new Column("o.EmployeeID"))), "OrderChecksum")
.Column(new CHECKSUM_AGG(new ColumnArithmatic("od.Quantity").MULTIPLY(new CAST(new Column("od.UnitPrice"), SqlDataType.INT))
.MULTIPLY().StartBracket(1).SUBTRACT(new CAST(new Column("od.Discount"), SqlDataType.INT)).EndBracket()
), "OrderDetailsChecksum")
.INTO(new Table("#OrderChecksums"))
.From("Orders", "o")
.Join(new List<IJoin>()
{
new INNERJOIN().TableName("[Order Details]","od")
.On(new Column("o.OrderID").Equale(new Column("od.OrderID")))
})
.GroupBy(new GroupBy("o.OrderID","o.Freight","o.EmployeeID"))
.Select().Star().From("#OrderChecksums")
.DropTable(new Table("#OrderChecksums"))
.Build();

Query build by SqlQueryBuilder 1

            
SELECT o.OrderID AS OrderID,
       CHECKSUM_AGG(CAST (o.Freight AS INT)) OVER (PARTITION BY o.EmployeeID) AS OrderChecksum,
       CHECKSUM_AGG(od.Quantity * CAST (od.UnitPrice AS INT) * (@pMAIN_2507200155149736170 - CAST (od.Discount AS INT))) AS OrderDetailsChecksum
INTO #OrderChecksums
FROM Orders AS o
     INNER JOIN
     [Order Details] AS od
     ON o.OrderID = od.OrderID
GROUP BY o.OrderID, o.Freight, o.EmployeeID;

SELECT *
FROM #OrderChecksums;

DROP TABLE #OrderChecksums;


            
        

Parameters (If used)

Name Value
@pMAIN_2507200155149736170 1

Query Results 1:

  OrderID OrderChecksum OrderDetailsChecksum
1 10258 648 1571
2 10270 648 607
3 10275 648 312
4 10285 648 902
5 10292 648 1300
6 10293 648 763
7 10304 648 122
8 10306 648 456
9 10311 648 137
10 10314 648 1685
11 10316 648 2810
12 10325 648 1191
13 10340 648 1600
14 10351 648 5230
15 10357 648 934
16 10361 648 1849
17 10364 648 819
18 10371 648 90
19 10374 648 393
20 10376 648 420
21 10377 648 968
22 10387 648 523
23 10385 648 700
24 10393 648 1458
25 10394 648 436
26 10396 648 168
27 10400 648 2069
28 10401 648 3046
29 10405 648 400
30 10453 648 442
31 10461 648 1912
32 10465 648 1547
33 10469 648 914
34 10473 648 212
35 10482 648 150
36 10486 648 1231
37 10508 648 136
38 10524 648 2971
39 10525 648 820
40 10537 648 996
41 10542 648 403
42 10546 648 1176
43 10558 648 1651
44 10562 648 470
45 10567 648 2827
46 10579 648 8
47 10587 648 214
48 10591 648 254
49 10604 648 250
50 10605 648 3508
51 10598 648 2142
52 10612 648 3575
53 10616 648 3271
54 10618 648 1261
55 10626 648 668
56 10630 648 854
57 10653 648 854
58 10655 648 200
59 10664 648 539
60 10665 648 1191
61 10668 648 487
62 10671 648 444
63 10677 648 954
64 10680 648 102
65 10689 648 630
66 10690 648 894
67 10709 648 728
68 10710 648 31
69 10713 648 1248
70 10717 648 685
71 10718 648 1312
72 10733 648 583
73 10743 648 336
74 10746 648 1461
75 10773 648 1713
76 10776 648 6574
77 10785 648 358
78 10788 648 130
79 10789 648 942
80 10792 648 104
81 10800 648 1593
82 10813 648 320
83 10821 648 86
84 10825 648 992
85 10827 648 171
86 10834 648 488
87 10835 648 803
88 10842 648 109
89 10850 648 214
90 10859 648 995
91 10877 648 2009
92 10886 648 2997
93 10888 648 406
94 10894 648 1120
95 10902 648 1014
96 10900 648 45
97 10909 648 421
98 10910 648 53
99 10916 648 310
100 10921 648 1620
101 10928 648 104
102 10946 648 370
103 10950 648 110
104 10952 648 460
105 10968 648 1126
106 10969 648 108
107 10975 648 720
108 10976 648 920
109 10981 648 15840
110 10984 648 315
111 10995 648 1196
112 10991 648 1230
113 10992 648 70
114 11012 648 34
115 11023 648 1308
116 11027 648 1171
117 11038 648 704
118 11039 648 1192
119 11064 648 2641
120 11067 648 90
121 11069 648 360
122 11071 648 510
123 11077 648 431
124 11073 414 182
125 11070 414 854
126 11059 414 1478
127 11060 414 10
128 11053 414 2340
129 11032 414 7459
130 11035 414 1390
131 11042 414 361
132 11028 414 1632
133 11013 414 176
134 11014 414 280
135 11015 414 364
136 11020 414 744
137 10994 414 990
138 11000 414 822
139 11001 414 1209
140 11005 414 514
141 11009 414 88
142 11010 414 618
143 10985 414 2044
144 10989 414 763
145 10990 414 160
146 10982 414 966
147 10983 414 212
148 10971 414 1736
149 10967 414 844
150 10949 414 2328
151 10939 414 654
152 10912 414 7768
153 10915 414 410
154 10919 414 416
155 10865 414 14400
156 10832 414 461
157 10858 414 274
158 10846 414 196
159 10819 414 482
160 10810 414 39
161 10815 414 48
162 10805 414 2780
163 10808 414 380
164 10798 414 316
165 10787 414 2221
166 10780 414 718
167 10781 414 947
168 10752 414 252
169 10737 414 96
170 10738 414 51
171 10734 414 512
172 10727 414 86
173 10691 414 7860
174 10686 414 1347
175 10676 414 398
176 10683 414 63
177 10673 414 371
178 10669 414 570
179 10657 414 1274
180 10663 414 1948
181 10620 414 58
182 10615 414 120
183 10588 414 3232
184 10595 414 1696
185 10583 414 1664
186 10563 414 49
187 10561 414 2788
188 10552 414 632
189 10553 414 455
190 10556 414 840
191 10541 414 1725
192 10515 414 6906
193 10516 414 1055
194 10502 414 432
195 10487 414 605
196 10478 414 500
197 10471 414 136
198 10462 414 150
199 10457 414 1584
200 10404 414 694
201 10398 414 2380
202 10407 414 178
203 10414 414 26
204 10422 414 50
205 10392 414 1450
206 10388 414 1040
207 10379 414 804
208 10368 414 989
209 10345 414 2707
210 10339 414 3210
211 10327 414 432
212 10312 414 476
213 10313 414 180
214 10307 414 408
215 10300 414 364
216 10295 414 120
217 10277 414 772
218 10280 414 504
219 10265 414 850
220 10266 78 360
221 10251 78 450
222 10253 78 4
223 10256 78 510
224 10283 78 875
225 10273 78 172
226 10309 78 497
227 10321 78 140
228 10330 78 1630
229 10332 78 1854
230 10346 78 1540
231 10352 78 80
232 10365 78 408
233 10362 78 510
234 10375 78 289
235 10381 78 112
236 10384 78 1673
237 10391 78 90
238 10420 78 1666
239 10432 78 10
240 10433 78 840
241 10434 78 154
242 10429 78 1729
243 10436 78 1848
244 10415 78 22
245 10413 78 1932
246 10409 78 132
247 10410 78 674
248 10468 78 643
249 10449 78 1139
250 10438 78 69
251 10441 78 1750
252 10442 78 854
253 10444 78 193
254 10445 78 14
255 10479 78 4888
256 10484 78 152
257 10505 78 147
258 10495 78 212
259 10492 78 584
260 10517 78 172
261 10530 78 934
262 10540 78 6583
263 10547 78 1908
264 10548 78 0
265 10536 78 1986
266 10514 78 730
267 10576 78 63
268 10568 78 155
269 10570 78 2515
270 10572 78 624
271 10594 78 302
272 10581 78 400
273 10582 78 172
274 10592 78 267
275 10619 78 748
276 10625 78 343
277 10638 78 2373
278 10644 78 920
279 10662 78 130
280 10684 78 772
281 10681 78 746
282 10682 78 238
283 10739 78 12
284 10732 78 360
285 10742 78 677
286 10753 78 26
287 10748 78 1908
288 10758 78 400
289 10759 78 320
290 10751 78 985
291 10762 78 3368
292 10763 78 394
293 10712 78 1047
294 10715 78 31
295 10723 78 465
296 10693 78 1851
297 10697 78 217
298 10699 78 120
299 10700 78 2002
300 10778 78 100
301 10779 78 640
302 10765 78 1680
303 10768 78 552
304 10769 78 478
305 10772 78 3559
306 10796 78 1494
307 10793 78 180
308 10806 78 448
309 10817 78 6873
310 10814 78 94
311 10820 78 1140
312 10838 78 1497
313 10839 78 907
314 10831 78 2396
315 10854 78 3482
316 10855 78 335
317 10856 78 100
318 10860 78 503
319 10903 78 77
320 10904 78 1648
321 10895 78 2594
322 10897 78 9576
323 10879 78 190
324 10918 78 1898
325 10911 78 434
326 10924 78 1848
327 10925 78 399
328 10934 78 500
329 10936 78 570
330 10938 78 424
331 10947 78 220
332 10948 78 2232
333 10964 78 1338
334 10960 78 194
335 10974 78 440
336 10988 78 160
337 11011 78 944
338 11006 78 104
339 11003 78 186
340 11004 78 214
341 11021 78 3610
342 11049 78 38
343 11041 78 1810
344 11057 78 45
345 11052 78 1094
346 11063 78 600
347 11061 848 510
348 11062 848 510
349 11072 848 4266
350 11076 848 98
351 11044 848 588
352 11040 848 200
353 11018 848 48
354 11029 848 232
355 11024 848 1243
356 11026 848 1002
357 11002 848 718
358 10996 848 560
359 10980 848 320
360 10966 848 852
361 10972 848 255
362 10943 848 343
363 10945 848 250
364 10935 848 462
365 10930 848 1786
366 10931 848 676
367 10926 848 375
368 10927 848 222
369 10908 848 570
370 10901 848 952
371 10906 848 435
372 10920 848 384
373 10913 848 559
374 10917 848 334
375 10878 848 1620
376 10881 848 150
377 10882 848 46
378 10884 848 626
379 10863 848 500
380 10864 848 154
381 10873 848 66
382 10875 848 287
383 10898 848 30
384 10892 848 2200
385 10861 848 992
386 10840 848 224
387 10843 848 212
388 10847 848 1020
389 10830 848 938
390 10816 848 7460
391 10807 848 18
392 10801 848 4008
393 10802 848 489
394 10803 848 819
395 10766 848 1258
396 10767 848 28
397 10774 848 840
398 10783 848 1450
399 10784 848 1540
400 10698 848 254
401 10707 848 892
402 10702 848 306
403 10725 848 244
404 10726 848 591
405 10716 848 99
406 10760 848 812
407 10749 848 964
408 10755 848 1988
409 10740 848 276
410 10741 848 285
411 10728 848 308
412 10685 848 722
413 10674 848 45
414 10688 848 2082
415 10692 848 880
416 10652 848 300
417 10658 848 628
418 10670 848 136
419 10645 848 1521
420 10640 848 561
421 10641 848 1934
422 10647 848 102
423 10624 848 922
424 10621 848 17
425 10622 848 406
426 10628 848 450
427 10629 848 2201
428 10634 848 2911
429 10636 848 616
430 10617 848 1650
431 10613 848 368
432 10608 848 1064
433 10606 848 434
434 10578 848 272
435 10590 848 612
436 10600 848 478
437 10574 848 290
438 10580 848 885
439 10584 848 650
440 10544 848 288
441 10554 848 540
442 10551 848 312
443 10564 848 102
444 10535 848 2035
445 10526 848 1240
446 10518 848 4042
447 10511 848 0
448 10522 848 730
449 10493 848 337
450 10494 848 900
451 10499 848 620
452 10509 848 138
453 10504 848 771
454 10485 848 358
455 10440 848 339
456 10447 848 873
457 10448 848 442
458 10454 848 340
459 10464 848 215
460 10466 848 152
461 10470 848 1389
462 10451 848 2211
463 10459 848 1320
464 10403 848 922
465 10430 848 2927
466 10431 848 1040
467 10417 848 10516
468 10418 848 820
469 10419 848 1040
470 10426 848 43
471 10427 848 665
472 10373 848 34
473 10382 848 1888
474 10389 848 745
475 10363 848 40
476 10347 848 714
477 10348 848 125
478 10360 848 791
479 10342 848 1016
480 10343 848 1468
481 10344 848 2742
482 10328 848 832
483 10329 848 4602
484 10326 848 412
485 10337 848 668
486 10338 848 855
487 10323 848 40
488 10299 848 153
489 10315 848 498
490 10294 848 277
491 10288 848 34
492 10302 848 1684
493 10250 848 1297
494 10284 848 374
495 10281 848 39
496 10282 848 94
497 10257 848 937
498 10252 848 3618
499 10267 848 3636
500 10259 848 69
501 10260 848 277
502 10261 848 440
503 10248 782 99
504 10254 782 283
505 10297 782 376
506 10269 782 584
507 10320 782 510
508 10333 782 582
509 10358 782 362
510 10359 782 2524
511 10372 782 8206
512 10378 782 102
513 10397 782 676
514 10463 782 693
515 10474 782 875
516 10477 782 354
517 10529 782 316
518 10549 782 2259
519 10575 782 1842
520 10569 782 987
521 10607 782 2304
522 10648 782 368
523 10649 782 405
524 10650 782 231
525 10654 782 74
526 10675 782 638
527 10730 782 10
528 10761 782 378
529 10721 782 950
530 10714 782 1507
531 10711 782 3760
532 10812 782 1196
533 10823 782 2259
534 10851 782 2333
535 10841 782 4089
536 10866 782 1409
537 10899 782 144
538 10874 782 310
539 10869 782 708
540 10870 782 92
541 10872 782 882
542 10922 782 742
543 10954 782 645
544 11043 782 210
545 11045 452 1237
546 11031 452 343
547 11025 452 204
548 11019 452 12
549 10999 452 706
550 10944 452 915
551 10973 452 247
552 10965 452 848
553 10956 452 348
554 10959 452 160
555 10929 452 787
556 10933 452 804
557 10907 452 112
558 10914 452 550
559 10885 452 455
560 10867 452 99
561 10833 452 772
562 10826 452 235
563 10822 452 201
564 10804 452 92
565 10794 452 371
566 10790 452 674
567 10791 452 1536
568 10708 452 11
569 10703 452 1495
570 10704 452 275
571 10701 452 2760
572 10764 452 2540
573 10757 452 1667
574 10754 452 54
575 10747 452 1154
576 10735 452 606
577 10744 452 900
578 10656 452 621
579 10643 452 976
580 10637 452 2474
581 10599 452 490
582 10611 452 300
583 10559 452 456
584 10555 452 519
585 10528 452 284
586 10539 452 243
587 10519 452 1364
588 10480 452 736
589 10489 452 3
590 10510 452 4176
591 10503 452 2030
592 10500 452 432
593 10425 452 422
594 10439 452 368
595 10446 452 64
596 10423 452 1020
597 10395 452 1772
598 10390 452 778
599 10370 452 856
600 10350 452 713
601 10355 452 500
602 10356 452 908
603 10291 452 432
604 10296 452 219
605 10298 452 1889
606 10317 452 280
607 10249 452 1595
608 10264 452 709
609 10271 452 48
610 10272 452 694
611 10274 452 400
612 10319 961 164
613 10322 961 120
614 10308 961 33
615 10303 961 816
616 10289 961 3
617 10349 961 144
618 10353 961 10746
619 10341 961 412
620 10335 961 2031
621 10336 961 324
622 10367 961 345
623 10424 961 10759
624 10428 961 200
625 10406 961 1473
626 10458 961 1698
627 10496 961 200
628 10497 961 994
629 10507 961 625
630 10490 961 2980
631 10483 961 173
632 10520 961 141
633 10523 961 1688
634 10512 961 506
635 10513 961 1635
636 10527 961 1654
637 10531 961 110
638 10532 961 30
639 10550 961 124
640 10573 961 951
641 10585 961 150
642 10609 961 316
643 10601 961 1773
644 10597 961 451
645 10593 961 1085
646 10633 961 3707
647 10642 961 872
648 10639 961 504
649 10678 961 2784
650 10666 961 4514
651 10667 961 1888
652 10659 961 748
653 10661 961 587
654 10731 961 1958
655 10695 961 364
656 10797 961 420
657 10777 961 280
658 10775 961 144
659 10809 961 140
660 10818 961 584
661 10836 961 494
662 10868 961 824
663 10848 961 853
664 10880 961 134
665 10876 961 616
666 10896 961 758
667 10890 961 585
668 10891 961 390
669 10937 961 104
670 10923 961 16
671 10958 961 447
672 10941 961 1348
673 10993 961 6502
674 11008 961 2486
675 11030 961 2750
676 11037 961 60
677 11033 961 3094
678 11047 961 948
679 11048 961 546
680 11066 961 163
681 11074 961 238
682 11055 961 1325
683 11051 961 50
684 11054 443 262
685 11056 443 348
686 11065 443 228
687 11075 443 498
688 11068 443 1636
689 11050 443 900
690 11046 443 604
691 11034 443 220
692 11036 443 1624
693 10997 443 1596
694 10998 443 207
695 11007 443 172
696 10986 443 1726
697 10987 443 1184
698 10979 443 864
699 10977 443 594
700 10940 443 136
701 10955 443 96
702 10957 443 212
703 10961 443 1042
704 10962 443 1088
705 10932 443 448
706 10887 443 70
707 10883 443 40
708 10852 443 2149
709 10844 443 735
710 10845 443 1220
711 10862 443 565
712 10857 443 457
713 10824 443 255
714 10811 443 569
715 10770 443 315
716 10795 443 260
717 10786 443 1126
718 10696 443 980
719 10694 443 3389
720 10706 443 1212
721 10719 443 930
722 10720 443 458
723 10722 443 426
724 10724 443 353
725 10729 443 40
726 10756 443 1737
727 10660 443 1701
728 10679 443 660
729 10651 443 456
730 10635 443 687
731 10631 443 64
732 10632 443 518
733 10623 443 909
734 10627 443 210
735 10589 443 72
736 10596 443 1134
737 10602 443 65
738 10603 443 516
739 10610 443 399
740 10614 443 300
741 10571 443 373
742 10545 443 210
743 10560 443 215
744 10565 443 559
745 10543 443 1538
746 10533 443 1644
747 10534 443 502
748 10521 443 28
749 10491 443 182
750 10488 443 1496
751 10481 443 1464
752 10476 443 182
753 10498 443 440
754 10452 443 1116
755 10460 443 202
756 10472 443 948
757 10467 443 244
758 10443 443 470
759 10455 443 1997
760 10456 443 16
761 10450 443 464
762 10399 443 704
763 10402 443 2375
764 10408 443 1443
765 10412 443 380
766 10416 443 200
767 10421 443 784
768 10437 443 390
769 10435 443 322
770 10369 443 1440
771 10366 443 103
772 10380 443 696
773 10383 443 767
774 10334 443 84
775 10354 443 292
776 10290 443 1037
777 10305 443 3309
778 10301 443 718
779 10310 443 79
780 10318 443 244
781 10276 443 325
782 10278 443 928
783 10279 443 465
784 10286 443 864
785 10287 443 634
786 10262 443 408
787 10268 443 942
788 10263 573 1780
789 10255 573 1177
790 10324 573 4046
791 10331 573 90
792 10386 573 82
793 10411 573 964
794 10501 573 140
795 10506 573 46
796 10475 573 90
797 10538 573 74
798 10566 573 1541
799 10557 573 894
800 10586 573 28
801 10577 573 254
802 10646 573 115
803 10687 573 5720
804 10672 573 3696
805 10750 573 1212
806 10736 573 1000
807 10745 573 3462
808 10705 573 388
809 10799 573 1347
810 10771 573 352
811 10782 573 13
812 10837 573 268
813 10828 573 901
814 10829 573 360
815 10853 573 630
816 10849 573 964
817 10871 573 1630
818 10889 573 10760
819 10893 573 3536
820 10905 573 360
821 10963 573 68
822 10970 573 280
823 10953 573 3416
824 10951 573 385
825 10942 573 560
826 10978 573 630
827 11022 573 1283
828 11016 573 499
829 11017 573 5786
830 11058 573 672


2. Usage of CHECKSUM for full contact of customer

SQL Server Query 2

            
SELECT CHECKSUM_AGG(BINARY_CHECKSUM(CustomerID, (ContactName + ' (' + ContactTitle + ')'))) AS FullContactChecksum  
FROM Customers;

Create SQL query with SqlQueryBuilder 2

            
var (sql2, parameters2) = new SqlQueryBuilder()  
.Select()
.Column(new CHECKSUM_AGG(
new BINARY_CHECKSUM(new Column("CustomerID"), new CONCAT(new Column("ContactName"), " ("),
new Column("ContactTitle"), ")")), "FullContactChecksum")
.From("Customers")
.Build();

Query build by SqlQueryBuilder 2

            
SELECT CHECKSUM_AGG(BINARY_CHECKSUM(CustomerID, CONCAT(ContactName, @pMAIN_2507200155149915690), ContactTitle, @pMAIN_2507200155149915691)) AS FullContactChecksum
FROM Customers;


            
        

Parameters (If used)

Name Value
@pMAIN_2507200155149915690 (
@pMAIN_2507200155149915691 )

Query Results 2:

  FullContactChecksum
1 2043615787


3. Usage of CHECKSUM for customer postal code

SQL Server Query 3

            
SELECT CHECKSUM_AGG(BINARY_CHECKSUM(CustomerID, CAST(PostalCode AS VARCHAR(10)))) AS PostalCodeVarcharChecksum  
FROM Customers;

Create SQL query with SqlQueryBuilder 3

            
var (sql3, parameters3) = new SqlQueryBuilder()  
.Select()
.Column(new CHECKSUM_AGG(new BINARY_CHECKSUM(new Column("CustomerID"), new CAST(new Column("PostalCode"), SqlDataType.VARCHAR, "10")))
, "PostalCodeVarcharChecksum")
.From("Customers")
.Build();

Query build by SqlQueryBuilder 3

            
SELECT CHECKSUM_AGG(BINARY_CHECKSUM(CustomerID, CAST (PostalCode AS VARCHAR (10)))) AS PostalCodeVarcharChecksum
FROM Customers;


            
        

Parameters (If used)

Name Value

Query Results 3:

  PostalCodeVarcharChecksum
1 966922135


4. Usage of CHECKSUM to show change in customer data

SQL Server Query 4

            
WITH PreviousCustomers AS (  
SELECT CustomerID, CompanyName, ContactName -- ... other columns
FROM Customers -- A hypothetical table storing previous customer data
WHERE CustomerID IN ('ALFKI','ANATR','ANTON','AROUT','BERGS')
)
SELECT
c.CustomerID,
CASE
WHEN BINARY_CHECKSUM(c.CompanyName, c.ContactName) <>
BINARY_CHECKSUM(pc.CompanyName, pc.ContactName) THEN 'Changed'
ELSE 'No Change'
END AS ChangeStatus
FROM Customers c
LEFT JOIN PreviousCustomers pc ON c.CustomerID = pc.CustomerID;

Create SQL query with SqlQueryBuilder 4

            
var (sql4, parameters4) = new SqlQueryBuilder()  
.WithCTETable(new Table("PreviousCustomers"), new SqlQueryBuilder()
.Select()
.Columns("CustomerID","CompanyName","ContactName")
.From("Customers")
.Where(new Where(new IN(new Column("CustomerID"), "ALFKI", "ANATR", "ANTON", "AROUT", "BERGS")))
)
.Select()
.Column("c.CustomerID", "CustomerID")
.Column(new CASE().When(new BINARY_CHECKSUM(new Column("c.CompanyName"), new Column("c.ContactName"))
.NotEqualeTo(new BINARY_CHECKSUM(new Column("pc.CompanyName"), new Column("pc.ContactName"))))
.Then("Changed")
.Else("No Change")
, "ChangeStatus")
.From("Customers","c")
.Join(new List<IJoin>()
{
new LEFTJOIN().TableName("PreviousCustomers","pc")
.On(new Column("c.CustomerID").Equale(new Column("pc.CustomerID")))
})
.Build();

Query build by SqlQueryBuilder 4

            
WITH PreviousCustomers
AS (SELECT CustomerID,
           CompanyName,
           ContactName
    FROM Customers
    WHERE CustomerID IN (@pMAIN_2507200155149967330, @pMAIN_2507200155149967331, @pMAIN_2507200155149967332, @pMAIN_2507200155149967333, @pMAIN_2507200155149967334))
SELECT c.CustomerID AS CustomerID,
       CASE WHEN BINARY_CHECKSUM(c.CompanyName, c.ContactName) <> BINARY_CHECKSUM(pc.CompanyName, pc.ContactName) THEN @pMAIN_2507200155149967335 ELSE @pMAIN_2507200155149967336 END AS ChangeStatus
FROM Customers AS c
     LEFT OUTER JOIN
     PreviousCustomers AS pc
     ON c.CustomerID = pc.CustomerID;


            
        

Parameters (If used)

Name Value
@pMAIN_2507200155149967330 ALFKI
@pMAIN_2507200155149967331 ANATR
@pMAIN_2507200155149967332 ANTON
@pMAIN_2507200155149967333 AROUT
@pMAIN_2507200155149967334 BERGS
@pMAIN_2507200155149967335 Changed
@pMAIN_2507200155149967336 No Change

Query Results 4:

  CustomerID ChangeStatus
1 ALFKI No Change
2 ANATR No Change
3 ANTON No Change
4 AROUT No Change
5 BERGS No Change
6 BLAUS Changed
7 BLONP Changed
8 BOLID Changed
9 BONAP Changed
10 BOTTM Changed
11 BSBEV Changed
12 CACTU Changed
13 CENTC Changed
14 CHOPS Changed
15 COMMI Changed
16 CONSH Changed
17 DRACD Changed
18 DUMON Changed
19 EASTC Changed
20 ERNSH Changed
21 FAMIA Changed
22 FISSA Changed
23 FOLIG Changed
24 FOLKO Changed
25 FRANK Changed
26 FRANR Changed
27 FRANS Changed
28 FURIB Changed
29 GALED Changed
30 GODOS Changed
31 GOURL Changed
32 GREAL Changed
33 GROSR Changed
34 HANAR Changed
35 HILAA Changed
36 HUNGC Changed
37 HUNGO Changed
38 ISLAT Changed
39 KOENE Changed
40 LACOR Changed
41 LAMAI Changed
42 LAUGB Changed
43 LAZYK Changed
44 LEHMS Changed
45 LETSS Changed
46 LILAS Changed
47 LINOD Changed
48 LONEP Changed
49 MAGAA Changed
50 MAISD Changed
51 MEREP Changed
52 MORGK Changed
53 NORTS Changed
54 OCEAN Changed
55 OLDWO Changed
56 OTTIK Changed
57 PARIS Changed
58 PERIC Changed
59 PICCO Changed
60 PRINI Changed
61 QUEDE Changed
62 QUEEN Changed
63 QUICK Changed
64 RANCH Changed
65 RATTC Changed
66 REGGC Changed
67 RICAR Changed
68 RICSU Changed
69 ROMEY Changed
70 SANTG Changed
71 SAVEA Changed
72 SEVES Changed
73 SIMOB Changed
74 SPECD Changed
75 SPLIR Changed
76 SUPRD Changed
77 THEBI Changed
78 THECR Changed
79 TOMSP Changed
80 TORTU Changed
81 TRADH Changed
82 TRAIH Changed
83 VAFFE Changed
84 VICTE Changed
85 VINET Changed
86 WANDK Changed
87 WARTH Changed
88 WELLI Changed
89 WHITC Changed
90 WILMK Changed
91 WOLZA Changed