├── .gitignore ├── Makefile ├── README.md ├── data └── Customers.xml ├── dub.json └── source ├── app.d ├── data.d ├── partitioning.d ├── projection.d └── restriction.d /.gitignore: -------------------------------------------------------------------------------- 1 | .dub 2 | docs.json 3 | __dummy.html 4 | *.o 5 | *.obj 6 | __test__*__ 7 | dlang-linq-examples 8 | dlang-linq-examples-test-library 9 | docs 10 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | dlang-linq-examples: 2 | dub 3 | 4 | docs: 5 | dub build --build=docs 6 | 7 | test: 8 | dub run --build=unittest 9 | 10 | 11 | .PHONY: 12 | clean: 13 | rm -rf docs 14 | rm -rf dlang-linq-examples 15 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 101 C# LINQ samples in D 2 | 3 | Original - [LINQ samples](https://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b) 4 | 5 | Inspiration - Demis Bellot's [Kotlin LINQ examples](https://github.com/mythz/kotlin-linq-examples). 6 | 7 | Reference - See [Sebastian Wilzbach's "Feature mapping from LINQ to D Ranges" repo](https://github.com/wilzbach/linq). 8 | 9 | 10 | ## Status 11 | 12 | - [x] Restriction Operators 13 | - [x] Projection Operators 14 | - [ ] Partitioning Operators 15 | - [ ] Ordering Operators 16 | - [ ] Grouping Operators 17 | - [ ] Set Operators 18 | - [ ] Converstion Operators 19 | - [ ] Element Operators 20 | - [ ] Generation Operators 21 | - [ ] Quantifiers 22 | - [ ] Aggregate Operators 23 | - [ ] Miscellaneous Operators 24 | - [ ] Custom Sequence Operators 25 | - [ ] Query Execution 26 | - [ ] Join Operators 27 | 28 | 29 | ## Installing and running 30 | 31 | Dependencies to run these examples -- `dmd`, the reference D compiler and `dub` -- the D pacakge manager: 32 | 33 | On a Mac with [Homebrew](https://brew.sh) installed: 34 | 35 | ``` 36 | brew install dmd 37 | ``` 38 | 39 | Running examples: 40 | 41 | ``` 42 | dub 43 | ``` 44 | 45 | Running tests: 46 | 47 | ``` 48 | dub test 49 | ``` 50 | 51 | -------------------------------------------------------------------------------- /data/Customers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ALFKI 5 | Alfreds Futterkiste 6 |
Obere Str. 57
7 | Berlin 8 | 12209 9 | Germany 10 | 030-0074321 11 | 030-0076545 12 | 13 | 14 | 10643 15 | 1997-08-25T00:00:00 16 | 814.50 17 | 18 | 19 | 10692 20 | 1997-10-03T00:00:00 21 | 878.00 22 | 23 | 24 | 10702 25 | 1997-10-13T00:00:00 26 | 330.00 27 | 28 | 29 | 10835 30 | 1998-01-15T00:00:00 31 | 845.80 32 | 33 | 34 | 10952 35 | 1998-03-16T00:00:00 36 | 471.20 37 | 38 | 39 | 11011 40 | 1998-04-09T00:00:00 41 | 933.50 42 | 43 | 44 |
45 | 46 | ANATR 47 | Ana Trujillo Emparedados y helados 48 |
Avda. de la Constitución 2222
49 | México D.F. 50 | 05021 51 | Mexico 52 | (5) 555-4729 53 | (5) 555-3745 54 | 55 | 56 | 10308 57 | 1996-09-18T00:00:00 58 | 88.80 59 | 60 | 61 | 10625 62 | 1997-08-08T00:00:00 63 | 479.75 64 | 65 | 66 | 10759 67 | 1997-11-28T00:00:00 68 | 320.00 69 | 70 | 71 | 10926 72 | 1998-03-04T00:00:00 73 | 514.40 74 | 75 | 76 |
77 | 78 | ANTON 79 | Antonio Moreno Taquería 80 |
Mataderos 2312
81 | México D.F. 82 | 05023 83 | Mexico 84 | (5) 555-3932 85 | 86 | 87 | 10365 88 | 1996-11-27T00:00:00 89 | 403.20 90 | 91 | 92 | 10507 93 | 1997-04-15T00:00:00 94 | 749.06 95 | 96 | 97 | 10535 98 | 1997-05-13T00:00:00 99 | 1940.85 100 | 101 | 102 | 10573 103 | 1997-06-19T00:00:00 104 | 2082.00 105 | 106 | 107 | 10677 108 | 1997-09-22T00:00:00 109 | 813.36 110 | 111 | 112 | 10682 113 | 1997-09-25T00:00:00 114 | 375.50 115 | 116 | 117 | 10856 118 | 1998-01-28T00:00:00 119 | 660.00 120 | 121 | 122 |
123 | 124 | AROUT 125 | Around the Horn 126 |
120 Hanover Sq.
127 | London 128 | WA1 1DP 129 | UK 130 | (171) 555-7788 131 | (171) 555-6750 132 | 133 | 134 | 10355 135 | 1996-11-15T00:00:00 136 | 480.00 137 | 138 | 139 | 10383 140 | 1996-12-16T00:00:00 141 | 899.00 142 | 143 | 144 | 10453 145 | 1997-02-21T00:00:00 146 | 407.70 147 | 148 | 149 | 10558 150 | 1997-06-04T00:00:00 151 | 2142.90 152 | 153 | 154 | 10707 155 | 1997-10-16T00:00:00 156 | 1641.00 157 | 158 | 159 | 10741 160 | 1997-11-14T00:00:00 161 | 228.00 162 | 163 | 164 | 10743 165 | 1997-11-17T00:00:00 166 | 319.20 167 | 168 | 169 | 10768 170 | 1997-12-08T00:00:00 171 | 1477.00 172 | 173 | 174 | 10793 175 | 1997-12-24T00:00:00 176 | 191.10 177 | 178 | 179 | 10864 180 | 1998-02-02T00:00:00 181 | 282.00 182 | 183 | 184 | 10920 185 | 1998-03-03T00:00:00 186 | 390.00 187 | 188 | 189 | 10953 190 | 1998-03-16T00:00:00 191 | 4441.25 192 | 193 | 194 | 11016 195 | 1998-04-10T00:00:00 196 | 491.50 197 | 198 | 199 |
200 | 201 | BERGS 202 | Berglunds snabbköp 203 |
Berguvsvägen 8
204 | Luleå 205 | S-958 22 206 | Sweden 207 | 0921-12 34 65 208 | 0921-12 34 67 209 | 210 | 211 | 10278 212 | 1996-08-12T00:00:00 213 | 1488.80 214 | 215 | 216 | 10280 217 | 1996-08-14T00:00:00 218 | 613.20 219 | 220 | 221 | 10384 222 | 1996-12-16T00:00:00 223 | 2222.40 224 | 225 | 226 | 10444 227 | 1997-02-12T00:00:00 228 | 1031.70 229 | 230 | 231 | 10445 232 | 1997-02-13T00:00:00 233 | 174.90 234 | 235 | 236 | 10524 237 | 1997-05-01T00:00:00 238 | 3192.65 239 | 240 | 241 | 10572 242 | 1997-06-18T00:00:00 243 | 1501.08 244 | 245 | 246 | 10626 247 | 1997-08-11T00:00:00 248 | 1503.60 249 | 250 | 251 | 10654 252 | 1997-09-02T00:00:00 253 | 601.83 254 | 255 | 256 | 10672 257 | 1997-09-17T00:00:00 258 | 3815.25 259 | 260 | 261 | 10689 262 | 1997-10-01T00:00:00 263 | 472.50 264 | 265 | 266 | 10733 267 | 1997-11-07T00:00:00 268 | 1459.00 269 | 270 | 271 | 10778 272 | 1997-12-16T00:00:00 273 | 96.50 274 | 275 | 276 | 10837 277 | 1998-01-16T00:00:00 278 | 1064.50 279 | 280 | 281 | 10857 282 | 1998-01-28T00:00:00 283 | 2048.21 284 | 285 | 286 | 10866 287 | 1998-02-03T00:00:00 288 | 1096.20 289 | 290 | 291 | 10875 292 | 1998-02-06T00:00:00 293 | 709.55 294 | 295 | 296 | 10924 297 | 1998-03-04T00:00:00 298 | 1835.70 299 | 300 | 301 |
302 | 303 | BLAUS 304 | Blauer See Delikatessen 305 |
Forsterstr. 57
306 | Mannheim 307 | 68306 308 | Germany 309 | 0621-08460 310 | 0621-08924 311 | 312 | 313 | 10501 314 | 1997-04-09T00:00:00 315 | 149.00 316 | 317 | 318 | 10509 319 | 1997-04-17T00:00:00 320 | 136.80 321 | 322 | 323 | 10582 324 | 1997-06-27T00:00:00 325 | 330.00 326 | 327 | 328 | 10614 329 | 1997-07-29T00:00:00 330 | 464.00 331 | 332 | 333 | 10853 334 | 1998-01-27T00:00:00 335 | 625.00 336 | 337 | 338 | 10956 339 | 1998-03-17T00:00:00 340 | 677.00 341 | 342 | 343 | 11058 344 | 1998-04-29T00:00:00 345 | 858.00 346 | 347 | 348 |
349 | 350 | BLONP 351 | Blondel père et fils 352 |
24, place Kléber
353 | Strasbourg 354 | 67000 355 | France 356 | 88.60.15.31 357 | 88.60.15.32 358 | 359 | 360 | 10265 361 | 1996-07-25T00:00:00 362 | 1176.00 363 | 364 | 365 | 10297 366 | 1996-09-04T00:00:00 367 | 1420.00 368 | 369 | 370 | 10360 371 | 1996-11-22T00:00:00 372 | 7390.20 373 | 374 | 375 | 10436 376 | 1997-02-05T00:00:00 377 | 1994.52 378 | 379 | 380 | 10449 381 | 1997-02-18T00:00:00 382 | 1838.20 383 | 384 | 385 | 10559 386 | 1997-06-05T00:00:00 387 | 520.41 388 | 389 | 390 | 10566 391 | 1997-06-12T00:00:00 392 | 1761.00 393 | 394 | 395 | 10584 396 | 1997-06-30T00:00:00 397 | 593.75 398 | 399 | 400 | 10628 401 | 1997-08-12T00:00:00 402 | 450.00 403 | 404 | 405 | 10679 406 | 1997-09-23T00:00:00 407 | 660.00 408 | 409 | 410 | 10826 411 | 1998-01-12T00:00:00 412 | 730.00 413 | 414 | 415 |
416 | 417 | BOLID 418 | Bólido Comidas preparadas 419 |
C/ Araquil, 67
420 | Madrid 421 | 28023 422 | Spain 423 | (91) 555 22 82 424 | (91) 555 91 99 425 | 426 | 427 | 10326 428 | 1996-10-10T00:00:00 429 | 982.00 430 | 431 | 432 | 10801 433 | 1997-12-29T00:00:00 434 | 3026.85 435 | 436 | 437 | 10970 438 | 1998-03-24T00:00:00 439 | 224.00 440 | 441 | 442 |
443 | 444 | BONAP 445 | Bon app' 446 |
12, rue des Bouchers
447 | Marseille 448 | 13008 449 | France 450 | 91.24.45.40 451 | 91.24.45.41 452 | 453 | 454 | 10331 455 | 1996-10-16T00:00:00 456 | 88.50 457 | 458 | 459 | 10340 460 | 1996-10-29T00:00:00 461 | 2436.18 462 | 463 | 464 | 10362 465 | 1996-11-25T00:00:00 466 | 1549.60 467 | 468 | 469 | 10470 470 | 1997-03-11T00:00:00 471 | 1820.80 472 | 473 | 474 | 10511 475 | 1997-04-18T00:00:00 476 | 2550.00 477 | 478 | 479 | 10525 480 | 1997-05-02T00:00:00 481 | 818.40 482 | 483 | 484 | 10663 485 | 1997-09-10T00:00:00 486 | 1930.40 487 | 488 | 489 | 10715 490 | 1997-10-23T00:00:00 491 | 1296.00 492 | 493 | 494 | 10730 495 | 1997-11-05T00:00:00 496 | 484.26 497 | 498 | 499 | 10732 500 | 1997-11-06T00:00:00 501 | 360.00 502 | 503 | 504 | 10755 505 | 1997-11-26T00:00:00 506 | 1948.50 507 | 508 | 509 | 10827 510 | 1998-01-12T00:00:00 511 | 843.00 512 | 513 | 514 | 10871 515 | 1998-02-05T00:00:00 516 | 1979.23 517 | 518 | 519 | 10876 520 | 1998-02-09T00:00:00 521 | 917.00 522 | 523 | 524 | 10932 525 | 1998-03-06T00:00:00 526 | 1788.63 527 | 528 | 529 | 10940 530 | 1998-03-11T00:00:00 531 | 360.00 532 | 533 | 534 | 11076 535 | 1998-05-06T00:00:00 536 | 792.75 537 | 538 | 539 |
540 | 541 | BOTTM 542 | Bottom-Dollar Markets 543 |
23 Tsawassen Blvd.
544 | Tsawassen 545 | BC 546 | T2F 8M4 547 | Canada 548 | (604) 555-4729 549 | (604) 555-3745 550 | 551 | 552 | 10389 553 | 1996-12-20T00:00:00 554 | 1832.80 555 | 556 | 557 | 10410 558 | 1997-01-10T00:00:00 559 | 802.00 560 | 561 | 562 | 10411 563 | 1997-01-10T00:00:00 564 | 966.80 565 | 566 | 567 | 10431 568 | 1997-01-30T00:00:00 569 | 1892.25 570 | 571 | 572 | 10492 573 | 1997-04-01T00:00:00 574 | 851.20 575 | 576 | 577 | 10742 578 | 1997-11-14T00:00:00 579 | 3118.00 580 | 581 | 582 | 10918 583 | 1998-03-02T00:00:00 584 | 1447.50 585 | 586 | 587 | 10944 588 | 1998-03-12T00:00:00 589 | 1025.32 590 | 591 | 592 | 10949 593 | 1998-03-13T00:00:00 594 | 4422.00 595 | 596 | 597 | 10975 598 | 1998-03-25T00:00:00 599 | 717.50 600 | 601 | 602 | 10982 603 | 1998-03-27T00:00:00 604 | 1014.00 605 | 606 | 607 | 11027 608 | 1998-04-16T00:00:00 609 | 877.72 610 | 611 | 612 | 11045 613 | 1998-04-23T00:00:00 614 | 1309.50 615 | 616 | 617 | 11048 618 | 1998-04-24T00:00:00 619 | 525.00 620 | 621 | 622 |
623 | 624 | BSBEV 625 | B's Beverages 626 |
Fauntleroy Circus
627 | London 628 | EC2 5NT 629 | UK 630 | (171) 555-1212 631 | 632 | 633 | 10289 634 | 1996-08-26T00:00:00 635 | 479.40 636 | 637 | 638 | 10471 639 | 1997-03-11T00:00:00 640 | 1328.00 641 | 642 | 643 | 10484 644 | 1997-03-24T00:00:00 645 | 386.20 646 | 647 | 648 | 10538 649 | 1997-05-15T00:00:00 650 | 139.80 651 | 652 | 653 | 10539 654 | 1997-05-16T00:00:00 655 | 355.50 656 | 657 | 658 | 10578 659 | 1997-06-24T00:00:00 660 | 477.00 661 | 662 | 663 | 10599 664 | 1997-07-15T00:00:00 665 | 493.00 666 | 667 | 668 | 10943 669 | 1998-03-11T00:00:00 670 | 711.00 671 | 672 | 673 | 10947 674 | 1998-03-13T00:00:00 675 | 220.00 676 | 677 | 678 | 11023 679 | 1998-04-14T00:00:00 680 | 1500.00 681 | 682 | 683 |
684 | 685 | CACTU 686 | Cactus Comidas para llevar 687 |
Cerrito 333
688 | Buenos Aires 689 | 1010 690 | Argentina 691 | (1) 135-5555 692 | (1) 135-4892 693 | 694 | 695 | 10521 696 | 1997-04-29T00:00:00 697 | 225.50 698 | 699 | 700 | 10782 701 | 1997-12-17T00:00:00 702 | 12.50 703 | 704 | 705 | 10819 706 | 1998-01-07T00:00:00 707 | 477.00 708 | 709 | 710 | 10881 711 | 1998-02-11T00:00:00 712 | 150.00 713 | 714 | 715 | 10937 716 | 1998-03-10T00:00:00 717 | 644.80 718 | 719 | 720 | 11054 721 | 1998-04-28T00:00:00 722 | 305.00 723 | 724 | 725 |
726 | 727 | CENTC 728 | Centro comercial Moctezuma 729 |
Sierras de Granada 9993
730 | México D.F. 731 | 05022 732 | Mexico 733 | (5) 555-3392 734 | (5) 555-7293 735 | 736 | 737 | 10259 738 | 1996-07-18T00:00:00 739 | 100.80 740 | 741 | 742 |
743 | 744 | CHOPS 745 | Chop-suey Chinese 746 |
Hauptstr. 29
747 | Bern 748 | 3012 749 | Switzerland 750 | 0452-076545 751 | 752 | 753 | 10254 754 | 1996-07-11T00:00:00 755 | 556.62 756 | 757 | 758 | 10370 759 | 1996-12-03T00:00:00 760 | 1117.60 761 | 762 | 763 | 10519 764 | 1997-04-28T00:00:00 765 | 2314.20 766 | 767 | 768 | 10731 769 | 1997-11-06T00:00:00 770 | 1890.50 771 | 772 | 773 | 10746 774 | 1997-11-19T00:00:00 775 | 2311.70 776 | 777 | 778 | 10966 779 | 1998-03-20T00:00:00 780 | 1098.46 781 | 782 | 783 | 11029 784 | 1998-04-16T00:00:00 785 | 1286.80 786 | 787 | 788 | 11041 789 | 1998-04-22T00:00:00 790 | 1773.00 791 | 792 | 793 |
794 | 795 | COMMI 796 | Comércio Mineiro 797 |
Av. dos Lusíadas, 23
798 | São Paulo 799 | SP 800 | 05432-043 801 | Brazil 802 | (11) 555-7647 803 | 804 | 805 | 10290 806 | 1996-08-27T00:00:00 807 | 2169.00 808 | 809 | 810 | 10466 811 | 1997-03-06T00:00:00 812 | 216.00 813 | 814 | 815 | 10494 816 | 1997-04-02T00:00:00 817 | 912.00 818 | 819 | 820 | 10969 821 | 1998-03-23T00:00:00 822 | 108.00 823 | 824 | 825 | 11042 826 | 1998-04-22T00:00:00 827 | 405.75 828 | 829 | 830 |
831 | 832 | CONSH 833 | Consolidated Holdings 834 |
Berkeley Gardens, 12 Brewery
835 | London 836 | WX1 6LT 837 | UK 838 | (171) 555-2282 839 | (171) 555-9199 840 | 841 | 842 | 10435 843 | 1997-02-04T00:00:00 844 | 631.60 845 | 846 | 847 | 10462 848 | 1997-03-03T00:00:00 849 | 156.00 850 | 851 | 852 | 10848 853 | 1998-01-23T00:00:00 854 | 931.50 855 | 856 | 857 |
858 | 859 | DRACD 860 | Drachenblut Delikatessen 861 |
Walserweg 21
862 | Aachen 863 | 52066 864 | Germany 865 | 0241-039123 866 | 0241-059428 867 | 868 | 869 | 10363 870 | 1996-11-26T00:00:00 871 | 447.20 872 | 873 | 874 | 10391 875 | 1996-12-23T00:00:00 876 | 86.40 877 | 878 | 879 | 10797 880 | 1997-12-25T00:00:00 881 | 420.00 882 | 883 | 884 | 10825 885 | 1998-01-09T00:00:00 886 | 1030.76 887 | 888 | 889 | 11036 890 | 1998-04-20T00:00:00 891 | 1692.00 892 | 893 | 894 | 11067 895 | 1998-05-04T00:00:00 896 | 86.85 897 | 898 | 899 |
900 | 901 | DUMON 902 | Du monde entier 903 |
67, rue des Cinquante Otages
904 | Nantes 905 | 44000 906 | France 907 | 40.67.88.88 908 | 40.67.89.89 909 | 910 | 911 | 10311 912 | 1996-09-20T00:00:00 913 | 268.80 914 | 915 | 916 | 10609 917 | 1997-07-24T00:00:00 918 | 424.00 919 | 920 | 921 | 10683 922 | 1997-09-26T00:00:00 923 | 63.00 924 | 925 | 926 | 10890 927 | 1998-02-16T00:00:00 928 | 860.10 929 | 930 | 931 |
932 | 933 | EASTC 934 | Eastern Connection 935 |
35 King George
936 | London 937 | WX3 6FW 938 | UK 939 | (171) 555-0297 940 | (171) 555-3373 941 | 942 | 943 | 10364 944 | 1996-11-26T00:00:00 945 | 950.00 946 | 947 | 948 | 10400 949 | 1997-01-01T00:00:00 950 | 3063.00 951 | 952 | 953 | 10532 954 | 1997-05-09T00:00:00 955 | 796.35 956 | 957 | 958 | 10726 959 | 1997-11-03T00:00:00 960 | 655.00 961 | 962 | 963 | 10987 964 | 1998-03-31T00:00:00 965 | 2772.00 966 | 967 | 968 | 11024 969 | 1998-04-15T00:00:00 970 | 1966.81 971 | 972 | 973 | 11047 974 | 1998-04-24T00:00:00 975 | 817.88 976 | 977 | 978 | 11056 979 | 1998-04-28T00:00:00 980 | 3740.00 981 | 982 | 983 |
984 | 985 | ERNSH 986 | Ernst Handel 987 |
Kirchgasse 6
988 | Graz 989 | 8010 990 | Austria 991 | 7675-3425 992 | 7675-3426 993 | 994 | 995 | 10258 996 | 1996-07-17T00:00:00 997 | 1614.88 998 | 999 | 1000 | 10263 1001 | 1996-07-23T00:00:00 1002 | 1873.80 1003 | 1004 | 1005 | 10351 1006 | 1996-11-11T00:00:00 1007 | 5398.72 1008 | 1009 | 1010 | 10368 1011 | 1996-11-29T00:00:00 1012 | 1689.78 1013 | 1014 | 1015 | 10382 1016 | 1996-12-13T00:00:00 1017 | 2900.00 1018 | 1019 | 1020 | 10390 1021 | 1996-12-23T00:00:00 1022 | 2090.88 1023 | 1024 | 1025 | 10402 1026 | 1997-01-02T00:00:00 1027 | 2713.50 1028 | 1029 | 1030 | 10403 1031 | 1997-01-03T00:00:00 1032 | 855.02 1033 | 1034 | 1035 | 10430 1036 | 1997-01-30T00:00:00 1037 | 4899.20 1038 | 1039 | 1040 | 10442 1041 | 1997-02-11T00:00:00 1042 | 1792.00 1043 | 1044 | 1045 | 10514 1046 | 1997-04-22T00:00:00 1047 | 8623.45 1048 | 1049 | 1050 | 10571 1051 | 1997-06-17T00:00:00 1052 | 550.59 1053 | 1054 | 1055 | 10595 1056 | 1997-07-10T00:00:00 1057 | 4725.00 1058 | 1059 | 1060 | 10633 1061 | 1997-08-15T00:00:00 1062 | 5510.59 1063 | 1064 | 1065 | 10667 1066 | 1997-09-12T00:00:00 1067 | 1536.80 1068 | 1069 | 1070 | 10698 1071 | 1997-10-09T00:00:00 1072 | 3436.44 1073 | 1074 | 1075 | 10764 1076 | 1997-12-03T00:00:00 1077 | 2286.00 1078 | 1079 | 1080 | 10771 1081 | 1997-12-10T00:00:00 1082 | 344.00 1083 | 1084 | 1085 | 10773 1086 | 1997-12-11T00:00:00 1087 | 2030.40 1088 | 1089 | 1090 | 10776 1091 | 1997-12-15T00:00:00 1092 | 6635.28 1093 | 1094 | 1095 | 10795 1096 | 1997-12-24T00:00:00 1097 | 2158.00 1098 | 1099 | 1100 | 10836 1101 | 1998-01-16T00:00:00 1102 | 4705.50 1103 | 1104 | 1105 | 10854 1106 | 1998-01-27T00:00:00 1107 | 2966.50 1108 | 1109 | 1110 | 10895 1111 | 1998-02-18T00:00:00 1112 | 6379.40 1113 | 1114 | 1115 | 10968 1116 | 1998-03-23T00:00:00 1117 | 1408.00 1118 | 1119 | 1120 | 10979 1121 | 1998-03-26T00:00:00 1122 | 4813.50 1123 | 1124 | 1125 | 10990 1126 | 1998-04-01T00:00:00 1127 | 4288.85 1128 | 1129 | 1130 | 11008 1131 | 1998-04-08T00:00:00 1132 | 4680.90 1133 | 1134 | 1135 | 11017 1136 | 1998-04-13T00:00:00 1137 | 6750.00 1138 | 1139 | 1140 | 11072 1141 | 1998-05-05T00:00:00 1142 | 5218.00 1143 | 1144 | 1145 |
1146 | 1147 | FAMIA 1148 | Familia Arquibaldo 1149 |
Rua Orós, 92
1150 | São Paulo 1151 | SP 1152 | 05442-030 1153 | Brazil 1154 | (11) 555-9857 1155 | 1156 | 1157 | 10347 1158 | 1996-11-06T00:00:00 1159 | 814.42 1160 | 1161 | 1162 | 10386 1163 | 1996-12-18T00:00:00 1164 | 166.00 1165 | 1166 | 1167 | 10414 1168 | 1997-01-14T00:00:00 1169 | 224.83 1170 | 1171 | 1172 | 10512 1173 | 1997-04-21T00:00:00 1174 | 525.30 1175 | 1176 | 1177 | 10581 1178 | 1997-06-26T00:00:00 1179 | 310.00 1180 | 1181 | 1182 | 10650 1183 | 1997-08-29T00:00:00 1184 | 1779.20 1185 | 1186 | 1187 | 10725 1188 | 1997-10-31T00:00:00 1189 | 287.80 1190 | 1191 | 1192 |
1193 | 1194 | FISSA 1195 | FISSA Fabrica Inter. Salchichas S.A. 1196 |
C/ Moralzarzal, 86
1197 | Madrid 1198 | 28034 1199 | Spain 1200 | (91) 555 94 44 1201 | (91) 555 55 93 1202 | 1203 |
1204 | 1205 | FOLIG 1206 | Folies gourmandes 1207 |
184, chaussée de Tournai
1208 | Lille 1209 | 59000 1210 | France 1211 | 20.16.10.16 1212 | 20.16.10.17 1213 | 1214 | 1215 | 10408 1216 | 1997-01-08T00:00:00 1217 | 1622.40 1218 | 1219 | 1220 | 10480 1221 | 1997-03-20T00:00:00 1222 | 756.00 1223 | 1224 | 1225 | 10634 1226 | 1997-08-15T00:00:00 1227 | 4985.50 1228 | 1229 | 1230 | 10763 1231 | 1997-12-03T00:00:00 1232 | 616.00 1233 | 1234 | 1235 | 10789 1236 | 1997-12-22T00:00:00 1237 | 3687.00 1238 | 1239 | 1240 |
1241 | 1242 | FOLKO 1243 | Folk och fä HB 1244 |
Åkergatan 24
1245 | Bräcke 1246 | S-844 67 1247 | Sweden 1248 | 0695-34 67 21 1249 | 1250 | 1251 | 10264 1252 | 1996-07-24T00:00:00 1253 | 695.62 1254 | 1255 | 1256 | 10327 1257 | 1996-10-11T00:00:00 1258 | 1810.00 1259 | 1260 | 1261 | 10378 1262 | 1996-12-10T00:00:00 1263 | 103.20 1264 | 1265 | 1266 | 10434 1267 | 1997-02-03T00:00:00 1268 | 321.12 1269 | 1270 | 1271 | 10460 1272 | 1997-02-28T00:00:00 1273 | 176.10 1274 | 1275 | 1276 | 10533 1277 | 1997-05-12T00:00:00 1278 | 2222.20 1279 | 1280 | 1281 | 10561 1282 | 1997-06-06T00:00:00 1283 | 2844.50 1284 | 1285 | 1286 | 10703 1287 | 1997-10-14T00:00:00 1288 | 2545.00 1289 | 1290 | 1291 | 10762 1292 | 1997-12-02T00:00:00 1293 | 4337.00 1294 | 1295 | 1296 | 10774 1297 | 1997-12-11T00:00:00 1298 | 868.75 1299 | 1300 | 1301 | 10824 1302 | 1998-01-09T00:00:00 1303 | 250.80 1304 | 1305 | 1306 | 10880 1307 | 1998-02-10T00:00:00 1308 | 1500.00 1309 | 1310 | 1311 | 10902 1312 | 1998-02-23T00:00:00 1313 | 863.43 1314 | 1315 | 1316 | 10955 1317 | 1998-03-17T00:00:00 1318 | 74.40 1319 | 1320 | 1321 | 10977 1322 | 1998-03-26T00:00:00 1323 | 2233.00 1324 | 1325 | 1326 | 10980 1327 | 1998-03-27T00:00:00 1328 | 248.00 1329 | 1330 | 1331 | 10993 1332 | 1998-04-01T00:00:00 1333 | 4895.44 1334 | 1335 | 1336 | 11001 1337 | 1998-04-06T00:00:00 1338 | 2769.00 1339 | 1340 | 1341 | 11050 1342 | 1998-04-27T00:00:00 1343 | 810.00 1344 | 1345 | 1346 |
1347 | 1348 | FRANK 1349 | Frankenversand 1350 |
Berliner Platz 43
1351 | München 1352 | 80805 1353 | Germany 1354 | 089-0877310 1355 | 089-0877451 1356 | 1357 | 1358 | 10267 1359 | 1996-07-29T00:00:00 1360 | 3536.60 1361 | 1362 | 1363 | 10337 1364 | 1996-10-24T00:00:00 1365 | 2467.00 1366 | 1367 | 1368 | 10342 1369 | 1996-10-30T00:00:00 1370 | 1840.64 1371 | 1372 | 1373 | 10396 1374 | 1996-12-27T00:00:00 1375 | 1903.80 1376 | 1377 | 1378 | 10488 1379 | 1997-03-27T00:00:00 1380 | 1512.00 1381 | 1382 | 1383 | 10560 1384 | 1997-06-06T00:00:00 1385 | 1072.42 1386 | 1387 | 1388 | 10623 1389 | 1997-08-07T00:00:00 1390 | 1336.95 1391 | 1392 | 1393 | 10653 1394 | 1997-09-02T00:00:00 1395 | 1083.15 1396 | 1397 | 1398 | 10670 1399 | 1997-09-16T00:00:00 1400 | 2301.75 1401 | 1402 | 1403 | 10675 1404 | 1997-09-19T00:00:00 1405 | 1423.00 1406 | 1407 | 1408 | 10717 1409 | 1997-10-24T00:00:00 1410 | 1270.75 1411 | 1412 | 1413 | 10791 1414 | 1997-12-23T00:00:00 1415 | 1829.76 1416 | 1417 | 1418 | 10859 1419 | 1998-01-29T00:00:00 1420 | 1078.69 1421 | 1422 | 1423 | 10929 1424 | 1998-03-05T00:00:00 1425 | 1174.75 1426 | 1427 | 1428 | 11012 1429 | 1998-04-09T00:00:00 1430 | 2825.30 1431 | 1432 | 1433 |
1434 | 1435 | FRANR 1436 | France restauration 1437 |
54, rue Royale
1438 | Nantes 1439 | 44000 1440 | France 1441 | 40.32.21.21 1442 | 40.32.21.20 1443 | 1444 | 1445 | 10671 1446 | 1997-09-17T00:00:00 1447 | 920.10 1448 | 1449 | 1450 | 10860 1451 | 1998-01-29T00:00:00 1452 | 519.00 1453 | 1454 | 1455 | 10971 1456 | 1998-03-24T00:00:00 1457 | 1733.06 1458 | 1459 | 1460 |
1461 | 1462 | FRANS 1463 | Franchi S.p.A. 1464 |
Via Monte Bianco 34
1465 | Torino 1466 | 10100 1467 | Italy 1468 | 011-4988260 1469 | 011-4988261 1470 | 1471 | 1472 | 10422 1473 | 1997-01-22T00:00:00 1474 | 49.80 1475 | 1476 | 1477 | 10710 1478 | 1997-10-20T00:00:00 1479 | 93.50 1480 | 1481 | 1482 | 10753 1483 | 1997-11-25T00:00:00 1484 | 88.00 1485 | 1486 | 1487 | 10807 1488 | 1997-12-31T00:00:00 1489 | 18.40 1490 | 1491 | 1492 | 11026 1493 | 1998-04-15T00:00:00 1494 | 1030.00 1495 | 1496 | 1497 | 11060 1498 | 1998-04-30T00:00:00 1499 | 266.00 1500 | 1501 | 1502 |
1503 | 1504 | FURIB 1505 | Furia Bacalhau e Frutos do Mar 1506 |
Jardim das rosas n. 32
1507 | Lisboa 1508 | 1675 1509 | Portugal 1510 | (1) 354-2534 1511 | (1) 354-2535 1512 | 1513 | 1514 | 10328 1515 | 1996-10-14T00:00:00 1516 | 1168.00 1517 | 1518 | 1519 | 10352 1520 | 1996-11-12T00:00:00 1521 | 136.30 1522 | 1523 | 1524 | 10464 1525 | 1997-03-04T00:00:00 1526 | 1609.28 1527 | 1528 | 1529 | 10491 1530 | 1997-03-31T00:00:00 1531 | 259.50 1532 | 1533 | 1534 | 10551 1535 | 1997-05-28T00:00:00 1536 | 1677.30 1537 | 1538 | 1539 | 10604 1540 | 1997-07-18T00:00:00 1541 | 230.85 1542 | 1543 | 1544 | 10664 1545 | 1997-09-10T00:00:00 1546 | 1288.39 1547 | 1548 | 1549 | 10963 1550 | 1998-03-19T00:00:00 1551 | 57.80 1552 | 1553 | 1554 |
1555 | 1556 | GALED 1557 | Galería del gastrónomo 1558 |
Rambla de Cataluña, 23
1559 | Barcelona 1560 | 08022 1561 | Spain 1562 | (93) 203 4560 1563 | (93) 203 4561 1564 | 1565 | 1566 | 10366 1567 | 1996-11-28T00:00:00 1568 | 136.00 1569 | 1570 | 1571 | 10426 1572 | 1997-01-27T00:00:00 1573 | 338.20 1574 | 1575 | 1576 | 10568 1577 | 1997-06-13T00:00:00 1578 | 155.00 1579 | 1580 | 1581 | 10887 1582 | 1998-02-13T00:00:00 1583 | 70.00 1584 | 1585 | 1586 | 10928 1587 | 1998-03-05T00:00:00 1588 | 137.50 1589 | 1590 | 1591 |
1592 | 1593 | GODOS 1594 | Godos Cocina Típica 1595 |
C/ Romero, 33
1596 | Sevilla 1597 | 41101 1598 | Spain 1599 | (95) 555 82 82 1600 | 1601 | 1602 | 10303 1603 | 1996-09-11T00:00:00 1604 | 1117.80 1605 | 1606 | 1607 | 10550 1608 | 1997-05-28T00:00:00 1609 | 683.30 1610 | 1611 | 1612 | 10629 1613 | 1997-08-12T00:00:00 1614 | 2775.05 1615 | 1616 | 1617 | 10872 1618 | 1998-02-05T00:00:00 1619 | 2058.46 1620 | 1621 | 1622 | 10874 1623 | 1998-02-06T00:00:00 1624 | 310.00 1625 | 1626 | 1627 | 10888 1628 | 1998-02-16T00:00:00 1629 | 605.00 1630 | 1631 | 1632 | 10911 1633 | 1998-02-26T00:00:00 1634 | 858.00 1635 | 1636 | 1637 | 10948 1638 | 1998-03-13T00:00:00 1639 | 2362.25 1640 | 1641 | 1642 | 11009 1643 | 1998-04-08T00:00:00 1644 | 616.50 1645 | 1646 | 1647 | 11037 1648 | 1998-04-21T00:00:00 1649 | 60.00 1650 | 1651 | 1652 |
1653 | 1654 | GOURL 1655 | Gourmet Lanchonetes 1656 |
Av. Brasil, 442
1657 | Campinas 1658 | SP 1659 | 04876-786 1660 | Brazil 1661 | (11) 555-9482 1662 | 1663 | 1664 | 10423 1665 | 1997-01-23T00:00:00 1666 | 1020.00 1667 | 1668 | 1669 | 10652 1670 | 1997-09-01T00:00:00 1671 | 318.84 1672 | 1673 | 1674 | 10685 1675 | 1997-09-29T00:00:00 1676 | 801.10 1677 | 1678 | 1679 | 10709 1680 | 1997-10-17T00:00:00 1681 | 3424.00 1682 | 1683 | 1684 | 10734 1685 | 1997-11-07T00:00:00 1686 | 1498.35 1687 | 1688 | 1689 | 10777 1690 | 1997-12-15T00:00:00 1691 | 224.00 1692 | 1693 | 1694 | 10790 1695 | 1997-12-22T00:00:00 1696 | 722.50 1697 | 1698 | 1699 | 10959 1700 | 1998-03-18T00:00:00 1701 | 131.75 1702 | 1703 | 1704 | 11049 1705 | 1998-04-24T00:00:00 1706 | 273.60 1707 | 1708 | 1709 |
1710 | 1711 | GREAL 1712 | Great Lakes Food Market 1713 |
2732 Baker Blvd.
1714 | Eugene 1715 | OR 1716 | 97403 1717 | USA 1718 | (503) 555-7555 1719 | 1720 | 1721 | 10528 1722 | 1997-05-06T00:00:00 1723 | 392.20 1724 | 1725 | 1726 | 10589 1727 | 1997-07-04T00:00:00 1728 | 72.00 1729 | 1730 | 1731 | 10616 1732 | 1997-07-31T00:00:00 1733 | 4807.00 1734 | 1735 | 1736 | 10617 1737 | 1997-07-31T00:00:00 1738 | 1402.50 1739 | 1740 | 1741 | 10656 1742 | 1997-09-04T00:00:00 1743 | 604.22 1744 | 1745 | 1746 | 10681 1747 | 1997-09-25T00:00:00 1748 | 1287.40 1749 | 1750 | 1751 | 10816 1752 | 1998-01-06T00:00:00 1753 | 8446.45 1754 | 1755 | 1756 | 10936 1757 | 1998-03-09T00:00:00 1758 | 456.00 1759 | 1760 | 1761 | 11006 1762 | 1998-04-07T00:00:00 1763 | 329.68 1764 | 1765 | 1766 | 11040 1767 | 1998-04-22T00:00:00 1768 | 200.00 1769 | 1770 | 1771 | 11061 1772 | 1998-04-30T00:00:00 1773 | 510.00 1774 | 1775 | 1776 |
1777 | 1778 | GROSR 1779 | GROSELLA-Restaurante 1780 |
5ª Ave. Los Palos Grandes
1781 | Caracas 1782 | DF 1783 | 1081 1784 | Venezuela 1785 | (2) 283-2951 1786 | (2) 283-3397 1787 | 1788 | 1789 | 10268 1790 | 1996-07-30T00:00:00 1791 | 1101.20 1792 | 1793 | 1794 | 10785 1795 | 1997-12-18T00:00:00 1796 | 387.50 1797 | 1798 | 1799 |
1800 | 1801 | HANAR 1802 | Hanari Carnes 1803 |
Rua do Paço, 67
1804 | Rio de Janeiro 1805 | RJ 1806 | 05454-876 1807 | Brazil 1808 | (21) 555-0091 1809 | (21) 555-8765 1810 | 1811 | 1812 | 10250 1813 | 1996-07-08T00:00:00 1814 | 1552.60 1815 | 1816 | 1817 | 10253 1818 | 1996-07-10T00:00:00 1819 | 1444.80 1820 | 1821 | 1822 | 10541 1823 | 1997-05-19T00:00:00 1824 | 1946.52 1825 | 1826 | 1827 | 10645 1828 | 1997-08-26T00:00:00 1829 | 1535.00 1830 | 1831 | 1832 | 10690 1833 | 1997-10-02T00:00:00 1834 | 862.50 1835 | 1836 | 1837 | 10770 1838 | 1997-12-09T00:00:00 1839 | 236.25 1840 | 1841 | 1842 | 10783 1843 | 1997-12-18T00:00:00 1844 | 1442.50 1845 | 1846 | 1847 | 10886 1848 | 1998-02-13T00:00:00 1849 | 3127.50 1850 | 1851 | 1852 | 10903 1853 | 1998-02-24T00:00:00 1854 | 932.05 1855 | 1856 | 1857 | 10922 1858 | 1998-03-03T00:00:00 1859 | 742.50 1860 | 1861 | 1862 | 10925 1863 | 1998-03-04T00:00:00 1864 | 475.15 1865 | 1866 | 1867 | 10981 1868 | 1998-03-27T00:00:00 1869 | 15810.00 1870 | 1871 | 1872 | 11022 1873 | 1998-04-14T00:00:00 1874 | 1402.00 1875 | 1876 | 1877 | 11052 1878 | 1998-04-27T00:00:00 1879 | 1332.00 1880 | 1881 | 1882 |
1883 | 1884 | HILAA 1885 | HILARIÓN-Abastos 1886 |
Carrera 22 con Ave. Carlos Soublette #8-35
1887 | San Cristóbal 1888 | Táchira 1889 | 5022 1890 | Venezuela 1891 | (5) 555-1340 1892 | (5) 555-1948 1893 | 1894 | 1895 | 10257 1896 | 1996-07-16T00:00:00 1897 | 1119.90 1898 | 1899 | 1900 | 10395 1901 | 1996-12-26T00:00:00 1902 | 2122.92 1903 | 1904 | 1905 | 10476 1906 | 1997-03-17T00:00:00 1907 | 180.48 1908 | 1909 | 1910 | 10486 1911 | 1997-03-26T00:00:00 1912 | 1272.00 1913 | 1914 | 1915 | 10490 1916 | 1997-03-31T00:00:00 1917 | 3163.20 1918 | 1919 | 1920 | 10498 1921 | 1997-04-07T00:00:00 1922 | 575.00 1923 | 1924 | 1925 | 10552 1926 | 1997-05-29T00:00:00 1927 | 880.50 1928 | 1929 | 1930 | 10601 1931 | 1997-07-16T00:00:00 1932 | 2285.00 1933 | 1934 | 1935 | 10613 1936 | 1997-07-29T00:00:00 1937 | 353.20 1938 | 1939 | 1940 | 10641 1941 | 1997-08-22T00:00:00 1942 | 2054.00 1943 | 1944 | 1945 | 10705 1946 | 1997-10-15T00:00:00 1947 | 378.00 1948 | 1949 | 1950 | 10796 1951 | 1997-12-25T00:00:00 1952 | 2341.36 1953 | 1954 | 1955 | 10863 1956 | 1998-02-02T00:00:00 1957 | 441.15 1958 | 1959 | 1960 | 10901 1961 | 1998-02-23T00:00:00 1962 | 934.50 1963 | 1964 | 1965 | 10957 1966 | 1998-03-18T00:00:00 1967 | 1762.70 1968 | 1969 | 1970 | 10960 1971 | 1998-03-19T00:00:00 1972 | 265.35 1973 | 1974 | 1975 | 10976 1976 | 1998-03-25T00:00:00 1977 | 912.00 1978 | 1979 | 1980 | 11055 1981 | 1998-04-28T00:00:00 1982 | 1727.50 1983 | 1984 | 1985 |
1986 | 1987 | HUNGC 1988 | Hungry Coyote Import Store 1989 |
City Center Plaza, 516 Main St.
1990 | Elgin 1991 | OR 1992 | 97827 1993 | USA 1994 | (503) 555-6874 1995 | (503) 555-2376 1996 | 1997 | 1998 | 10375 1999 | 1996-12-06T00:00:00 2000 | 338.00 2001 | 2002 | 2003 | 10394 2004 | 1996-12-25T00:00:00 2005 | 442.00 2006 | 2007 | 2008 | 10415 2009 | 1997-01-15T00:00:00 2010 | 102.40 2011 | 2012 | 2013 | 10600 2014 | 1997-07-16T00:00:00 2015 | 479.80 2016 | 2017 | 2018 | 10660 2019 | 1997-09-08T00:00:00 2020 | 1701.00 2021 | 2022 | 2023 |
2024 | 2025 | HUNGO 2026 | Hungry Owl All-Night Grocers 2027 |
8 Johnstown Road
2028 | Cork 2029 | Co. Cork 2030 | Ireland 2031 | 2967 542 2032 | 2967 3333 2033 | 2034 | 2035 | 10298 2036 | 1996-09-05T00:00:00 2037 | 2645.00 2038 | 2039 | 2040 | 10309 2041 | 1996-09-19T00:00:00 2042 | 1762.00 2043 | 2044 | 2045 | 10335 2046 | 1996-10-22T00:00:00 2047 | 2036.16 2048 | 2049 | 2050 | 10373 2051 | 1996-12-05T00:00:00 2052 | 1366.40 2053 | 2054 | 2055 | 10380 2056 | 1996-12-12T00:00:00 2057 | 1313.82 2058 | 2059 | 2060 | 10429 2061 | 1997-01-29T00:00:00 2062 | 1441.38 2063 | 2064 | 2065 | 10503 2066 | 1997-04-11T00:00:00 2067 | 2048.50 2068 | 2069 | 2070 | 10516 2071 | 1997-04-24T00:00:00 2072 | 2381.05 2073 | 2074 | 2075 | 10567 2076 | 1997-06-12T00:00:00 2077 | 2519.00 2078 | 2079 | 2080 | 10646 2081 | 1997-08-27T00:00:00 2082 | 1446.00 2083 | 2084 | 2085 | 10661 2086 | 1997-09-09T00:00:00 2087 | 562.60 2088 | 2089 | 2090 | 10687 2091 | 1997-09-30T00:00:00 2092 | 4960.90 2093 | 2094 | 2095 | 10701 2096 | 1997-10-13T00:00:00 2097 | 2864.50 2098 | 2099 | 2100 | 10712 2101 | 1997-10-21T00:00:00 2102 | 1233.48 2103 | 2104 | 2105 | 10736 2106 | 1997-11-11T00:00:00 2107 | 997.00 2108 | 2109 | 2110 | 10897 2111 | 1998-02-19T00:00:00 2112 | 10835.24 2113 | 2114 | 2115 | 10912 2116 | 1998-02-26T00:00:00 2117 | 6200.55 2118 | 2119 | 2120 | 10985 2121 | 1998-03-30T00:00:00 2122 | 2023.38 2123 | 2124 | 2125 | 11063 2126 | 1998-04-30T00:00:00 2127 | 1342.95 2128 | 2129 | 2130 |
2131 | 2132 | ISLAT 2133 | Island Trading 2134 |
Garden House, Crowther Way
2135 | Cowes 2136 | Isle of Wight 2137 | PO31 7PJ 2138 | UK 2139 | (198) 555-8888 2140 | 2141 | 2142 | 10315 2143 | 1996-09-26T00:00:00 2144 | 516.80 2145 | 2146 | 2147 | 10318 2148 | 1996-10-01T00:00:00 2149 | 240.40 2150 | 2151 | 2152 | 10321 2153 | 1996-10-03T00:00:00 2154 | 144.00 2155 | 2156 | 2157 | 10473 2158 | 1997-03-13T00:00:00 2159 | 230.40 2160 | 2161 | 2162 | 10621 2163 | 1997-08-05T00:00:00 2164 | 758.50 2165 | 2166 | 2167 | 10674 2168 | 1997-09-18T00:00:00 2169 | 45.00 2170 | 2171 | 2172 | 10749 2173 | 1997-11-20T00:00:00 2174 | 1080.00 2175 | 2176 | 2177 | 10798 2178 | 1997-12-26T00:00:00 2179 | 446.60 2180 | 2181 | 2182 | 10829 2183 | 1998-01-13T00:00:00 2184 | 1764.00 2185 | 2186 | 2187 | 10933 2188 | 1998-03-06T00:00:00 2189 | 920.60 2190 | 2191 | 2192 |
2193 | 2194 | KOENE 2195 | Königlich Essen 2196 |
Maubelstr. 90
2197 | Brandenburg 2198 | 14776 2199 | Germany 2200 | 0555-09876 2201 | 2202 | 2203 | 10323 2204 | 1996-10-07T00:00:00 2205 | 164.40 2206 | 2207 | 2208 | 10325 2209 | 1996-10-09T00:00:00 2210 | 1497.00 2211 | 2212 | 2213 | 10456 2214 | 1997-02-25T00:00:00 2215 | 557.60 2216 | 2217 | 2218 | 10457 2219 | 1997-02-25T00:00:00 2220 | 1584.00 2221 | 2222 | 2223 | 10468 2224 | 1997-03-07T00:00:00 2225 | 717.60 2226 | 2227 | 2228 | 10506 2229 | 1997-04-15T00:00:00 2230 | 415.80 2231 | 2232 | 2233 | 10542 2234 | 1997-05-20T00:00:00 2235 | 469.11 2236 | 2237 | 2238 | 10630 2239 | 1997-08-13T00:00:00 2240 | 903.60 2241 | 2242 | 2243 | 10718 2244 | 1997-10-27T00:00:00 2245 | 3463.00 2246 | 2247 | 2248 | 10799 2249 | 1997-12-26T00:00:00 2250 | 1553.50 2251 | 2252 | 2253 | 10817 2254 | 1998-01-06T00:00:00 2255 | 10952.84 2256 | 2257 | 2258 | 10849 2259 | 1998-01-23T00:00:00 2260 | 967.82 2261 | 2262 | 2263 | 10893 2264 | 1998-02-18T00:00:00 2265 | 5502.11 2266 | 2267 | 2268 | 11028 2269 | 1998-04-16T00:00:00 2270 | 2160.00 2271 | 2272 | 2273 |
2274 | 2275 | LACOR 2276 | La corne d'abondance 2277 |
67, avenue de l'Europe
2278 | Versailles 2279 | 78000 2280 | France 2281 | 30.59.84.10 2282 | 30.59.85.11 2283 | 2284 | 2285 | 10858 2286 | 1998-01-29T00:00:00 2287 | 649.00 2288 | 2289 | 2290 | 10927 2291 | 1998-03-05T00:00:00 2292 | 800.00 2293 | 2294 | 2295 | 10972 2296 | 1998-03-24T00:00:00 2297 | 251.50 2298 | 2299 | 2300 | 10973 2301 | 1998-03-24T00:00:00 2302 | 291.55 2303 | 2304 | 2305 |
2306 | 2307 | LAMAI 2308 | La maison d'Asie 2309 |
1 rue Alsace-Lorraine
2310 | Toulouse 2311 | 31000 2312 | France 2313 | 61.77.61.10 2314 | 61.77.61.11 2315 | 2316 | 2317 | 10350 2318 | 1996-11-11T00:00:00 2319 | 642.06 2320 | 2321 | 2322 | 10358 2323 | 1996-11-20T00:00:00 2324 | 429.40 2325 | 2326 | 2327 | 10371 2328 | 1996-12-03T00:00:00 2329 | 72.96 2330 | 2331 | 2332 | 10413 2333 | 1997-01-14T00:00:00 2334 | 2123.20 2335 | 2336 | 2337 | 10425 2338 | 1997-01-24T00:00:00 2339 | 360.00 2340 | 2341 | 2342 | 10454 2343 | 1997-02-21T00:00:00 2344 | 331.20 2345 | 2346 | 2347 | 10493 2348 | 1997-04-02T00:00:00 2349 | 608.40 2350 | 2351 | 2352 | 10500 2353 | 1997-04-09T00:00:00 2354 | 523.26 2355 | 2356 | 2357 | 10610 2358 | 1997-07-25T00:00:00 2359 | 299.25 2360 | 2361 | 2362 | 10631 2363 | 1997-08-14T00:00:00 2364 | 55.80 2365 | 2366 | 2367 | 10787 2368 | 1997-12-19T00:00:00 2369 | 2622.76 2370 | 2371 | 2372 | 10832 2373 | 1998-01-14T00:00:00 2374 | 475.11 2375 | 2376 | 2377 | 10923 2378 | 1998-03-03T00:00:00 2379 | 748.80 2380 | 2381 | 2382 | 11051 2383 | 1998-04-27T00:00:00 2384 | 36.00 2385 | 2386 | 2387 |
2388 | 2389 | LAUGB 2390 | Laughing Bacchus Wine Cellars 2391 |
1900 Oak St.
2392 | Vancouver 2393 | BC 2394 | V3F 2K1 2395 | Canada 2396 | (604) 555-3392 2397 | (604) 555-7293 2398 | 2399 | 2400 | 10495 2401 | 1997-04-03T00:00:00 2402 | 278.00 2403 | 2404 | 2405 | 10620 2406 | 1997-08-05T00:00:00 2407 | 57.50 2408 | 2409 | 2410 | 10810 2411 | 1998-01-01T00:00:00 2412 | 187.00 2413 | 2414 | 2415 |
2416 | 2417 | LAZYK 2418 | Lazy K Kountry Store 2419 |
12 Orchestra Terrace
2420 | Walla Walla 2421 | WA 2422 | 99362 2423 | USA 2424 | (509) 555-7969 2425 | (509) 555-6221 2426 | 2427 | 2428 | 10482 2429 | 1997-03-21T00:00:00 2430 | 147.00 2431 | 2432 | 2433 | 10545 2434 | 1997-05-22T00:00:00 2435 | 210.00 2436 | 2437 | 2438 |
2439 | 2440 | LEHMS 2441 | Lehmanns Marktstand 2442 |
Magazinweg 7
2443 | Frankfurt a.M. 2444 | 60528 2445 | Germany 2446 | 069-0245984 2447 | 069-0245874 2448 | 2449 | 2450 | 10279 2451 | 1996-08-13T00:00:00 2452 | 351.00 2453 | 2454 | 2455 | 10284 2456 | 1996-08-19T00:00:00 2457 | 1170.38 2458 | 2459 | 2460 | 10343 2461 | 1996-10-31T00:00:00 2462 | 1584.00 2463 | 2464 | 2465 | 10497 2466 | 1997-04-04T00:00:00 2467 | 1380.60 2468 | 2469 | 2470 | 10522 2471 | 1997-04-30T00:00:00 2472 | 2318.24 2473 | 2474 | 2475 | 10534 2476 | 1997-05-12T00:00:00 2477 | 465.70 2478 | 2479 | 2480 | 10536 2481 | 1997-05-14T00:00:00 2482 | 1645.00 2483 | 2484 | 2485 | 10557 2486 | 1997-06-03T00:00:00 2487 | 1152.50 2488 | 2489 | 2490 | 10592 2491 | 1997-07-08T00:00:00 2492 | 516.47 2493 | 2494 | 2495 | 10593 2496 | 1997-07-09T00:00:00 2497 | 1994.40 2498 | 2499 | 2500 | 10772 2501 | 1997-12-10T00:00:00 2502 | 3603.22 2503 | 2504 | 2505 | 10862 2506 | 1998-01-30T00:00:00 2507 | 581.00 2508 | 2509 | 2510 | 10891 2511 | 1998-02-17T00:00:00 2512 | 368.93 2513 | 2514 | 2515 | 10934 2516 | 1998-03-09T00:00:00 2517 | 500.00 2518 | 2519 | 2520 | 11070 2521 | 1998-05-05T00:00:00 2522 | 1629.98 2523 | 2524 | 2525 |
2526 | 2527 | LETSS 2528 | Let's Stop N Shop 2529 |
87 Polk St. Suite 5
2530 | San Francisco 2531 | CA 2532 | 94117 2533 | USA 2534 | (415) 555-5938 2535 | 2536 | 2537 | 10579 2538 | 1997-06-25T00:00:00 2539 | 317.75 2540 | 2541 | 2542 | 10719 2543 | 1997-10-27T00:00:00 2544 | 844.25 2545 | 2546 | 2547 | 10735 2548 | 1997-11-10T00:00:00 2549 | 536.40 2550 | 2551 | 2552 | 10884 2553 | 1998-02-12T00:00:00 2554 | 1378.07 2555 | 2556 | 2557 |
2558 | 2559 | LILAS 2560 | LILA-Supermercado 2561 |
Carrera 52 con Ave. Bolívar #65-98 Llano Largo
2562 | Barquisimeto 2563 | Lara 2564 | 3508 2565 | Venezuela 2566 | (9) 331-6954 2567 | (9) 331-7256 2568 | 2569 | 2570 | 10283 2571 | 1996-08-16T00:00:00 2572 | 1414.80 2573 | 2574 | 2575 | 10296 2576 | 1996-09-03T00:00:00 2577 | 1050.60 2578 | 2579 | 2580 | 10330 2581 | 1996-10-16T00:00:00 2582 | 1649.00 2583 | 2584 | 2585 | 10357 2586 | 1996-11-19T00:00:00 2587 | 1167.68 2588 | 2589 | 2590 | 10381 2591 | 1996-12-12T00:00:00 2592 | 112.00 2593 | 2594 | 2595 | 10461 2596 | 1997-02-28T00:00:00 2597 | 1538.70 2598 | 2599 | 2600 | 10499 2601 | 1997-04-08T00:00:00 2602 | 1412.00 2603 | 2604 | 2605 | 10543 2606 | 1997-05-21T00:00:00 2607 | 1504.50 2608 | 2609 | 2610 | 10780 2611 | 1997-12-16T00:00:00 2612 | 720.00 2613 | 2614 | 2615 | 10823 2616 | 1998-01-09T00:00:00 2617 | 2826.00 2618 | 2619 | 2620 | 10899 2621 | 1998-02-20T00:00:00 2622 | 122.40 2623 | 2624 | 2625 | 10997 2626 | 1998-04-03T00:00:00 2627 | 1885.00 2628 | 2629 | 2630 | 11065 2631 | 1998-05-01T00:00:00 2632 | 189.42 2633 | 2634 | 2635 | 11071 2636 | 1998-05-05T00:00:00 2637 | 484.50 2638 | 2639 | 2640 |
2641 | 2642 | LINOD 2643 | LINO-Delicateses 2644 |
Ave. 5 de Mayo Porlamar
2645 | I. de Margarita 2646 | Nueva Esparta 2647 | 4980 2648 | Venezuela 2649 | (8) 34-56-12 2650 | (8) 34-93-93 2651 | 2652 | 2653 | 10405 2654 | 1997-01-06T00:00:00 2655 | 400.00 2656 | 2657 | 2658 | 10485 2659 | 1997-03-25T00:00:00 2660 | 1584.00 2661 | 2662 | 2663 | 10638 2664 | 1997-08-20T00:00:00 2665 | 2720.05 2666 | 2667 | 2668 | 10697 2669 | 1997-10-08T00:00:00 2670 | 805.42 2671 | 2672 | 2673 | 10729 2674 | 1997-11-04T00:00:00 2675 | 1850.00 2676 | 2677 | 2678 | 10811 2679 | 1998-01-02T00:00:00 2680 | 852.00 2681 | 2682 | 2683 | 10838 2684 | 1998-01-19T00:00:00 2685 | 1938.38 2686 | 2687 | 2688 | 10840 2689 | 1998-01-19T00:00:00 2690 | 211.20 2691 | 2692 | 2693 | 10919 2694 | 1998-03-02T00:00:00 2695 | 1122.80 2696 | 2697 | 2698 | 10954 2699 | 1998-03-17T00:00:00 2700 | 1659.54 2701 | 2702 | 2703 | 11014 2704 | 1998-04-10T00:00:00 2705 | 243.18 2706 | 2707 | 2708 | 11039 2709 | 1998-04-21T00:00:00 2710 | 3090.00 2711 | 2712 | 2713 |
2714 | 2715 | LONEP 2716 | Lonesome Pine Restaurant 2717 |
89 Chiaroscuro Rd.
2718 | Portland 2719 | OR 2720 | 97219 2721 | USA 2722 | (503) 555-9573 2723 | (503) 555-9646 2724 | 2725 | 2726 | 10307 2727 | 1996-09-17T00:00:00 2728 | 424.00 2729 | 2730 | 2731 | 10317 2732 | 1996-09-30T00:00:00 2733 | 288.00 2734 | 2735 | 2736 | 10544 2737 | 1997-05-21T00:00:00 2738 | 417.20 2739 | 2740 | 2741 | 10662 2742 | 1997-09-09T00:00:00 2743 | 125.00 2744 | 2745 | 2746 | 10665 2747 | 1997-09-11T00:00:00 2748 | 1295.00 2749 | 2750 | 2751 | 10867 2752 | 1998-02-03T00:00:00 2753 | 98.40 2754 | 2755 | 2756 | 10883 2757 | 1998-02-12T00:00:00 2758 | 36.00 2759 | 2760 | 2761 | 11018 2762 | 1998-04-13T00:00:00 2763 | 1575.00 2764 | 2765 | 2766 |
2767 | 2768 | MAGAA 2769 | Magazzini Alimentari Riuniti 2770 |
Via Ludovico il Moro 22
2771 | Bergamo 2772 | 24100 2773 | Italy 2774 | 035-640230 2775 | 035-640231 2776 | 2777 | 2778 | 10275 2779 | 1996-08-07T00:00:00 2780 | 291.84 2781 | 2782 | 2783 | 10300 2784 | 1996-09-09T00:00:00 2785 | 608.00 2786 | 2787 | 2788 | 10404 2789 | 1997-01-03T00:00:00 2790 | 1591.25 2791 | 2792 | 2793 | 10467 2794 | 1997-03-06T00:00:00 2795 | 235.20 2796 | 2797 | 2798 | 10635 2799 | 1997-08-18T00:00:00 2800 | 1326.22 2801 | 2802 | 2803 | 10754 2804 | 1997-11-25T00:00:00 2805 | 55.20 2806 | 2807 | 2808 | 10784 2809 | 1997-12-18T00:00:00 2810 | 1488.00 2811 | 2812 | 2813 | 10818 2814 | 1998-01-07T00:00:00 2815 | 833.00 2816 | 2817 | 2818 | 10939 2819 | 1998-03-10T00:00:00 2820 | 637.50 2821 | 2822 | 2823 | 10950 2824 | 1998-03-16T00:00:00 2825 | 110.00 2826 | 2827 | 2828 |
2829 | 2830 | MAISD 2831 | Maison Dewey 2832 |
Rue Joseph-Bens 532
2833 | Bruxelles 2834 | B-1180 2835 | Belgium 2836 | (02) 201 24 67 2837 | (02) 201 24 68 2838 | 2839 | 2840 | 10529 2841 | 1997-05-07T00:00:00 2842 | 946.00 2843 | 2844 | 2845 | 10649 2846 | 1997-08-28T00:00:00 2847 | 1434.00 2848 | 2849 | 2850 | 10760 2851 | 1997-12-01T00:00:00 2852 | 2917.00 2853 | 2854 | 2855 | 10892 2856 | 1998-02-17T00:00:00 2857 | 2090.00 2858 | 2859 | 2860 | 10896 2861 | 1998-02-19T00:00:00 2862 | 750.50 2863 | 2864 | 2865 | 10978 2866 | 1998-03-26T00:00:00 2867 | 1303.20 2868 | 2869 | 2870 | 11004 2871 | 1998-04-07T00:00:00 2872 | 295.38 2873 | 2874 | 2875 |
2876 | 2877 | MEREP 2878 | Mère Paillarde 2879 |
43 rue St. Laurent
2880 | Montréal 2881 | Québec 2882 | H1J 1C3 2883 | Canada 2884 | (514) 555-8054 2885 | (514) 555-8055 2886 | 2887 | 2888 | 10332 2889 | 1996-10-17T00:00:00 2890 | 1786.88 2891 | 2892 | 2893 | 10339 2894 | 1996-10-28T00:00:00 2895 | 3354.00 2896 | 2897 | 2898 | 10376 2899 | 1996-12-09T00:00:00 2900 | 399.00 2901 | 2902 | 2903 | 10424 2904 | 1997-01-23T00:00:00 2905 | 9194.56 2906 | 2907 | 2908 | 10439 2909 | 1997-02-07T00:00:00 2910 | 1078.00 2911 | 2912 | 2913 | 10505 2914 | 1997-04-14T00:00:00 2915 | 147.90 2916 | 2917 | 2918 | 10565 2919 | 1997-06-11T00:00:00 2920 | 639.90 2921 | 2922 | 2923 | 10570 2924 | 1997-06-17T00:00:00 2925 | 2465.25 2926 | 2927 | 2928 | 10590 2929 | 1997-07-07T00:00:00 2930 | 1101.00 2931 | 2932 | 2933 | 10605 2934 | 1997-07-21T00:00:00 2935 | 4109.70 2936 | 2937 | 2938 | 10618 2939 | 1997-08-01T00:00:00 2940 | 2697.50 2941 | 2942 | 2943 | 10619 2944 | 1997-08-04T00:00:00 2945 | 1260.00 2946 | 2947 | 2948 | 10724 2949 | 1997-10-30T00:00:00 2950 | 638.50 2951 | 2952 | 2953 |
2954 | 2955 | MORGK 2956 | Morgenstern Gesundkost 2957 |
Heerstr. 22
2958 | Leipzig 2959 | 04179 2960 | Germany 2961 | 0342-023176 2962 | 2963 | 2964 | 10277 2965 | 1996-08-09T00:00:00 2966 | 1200.80 2967 | 2968 | 2969 | 10575 2970 | 1997-06-20T00:00:00 2971 | 2147.40 2972 | 2973 | 2974 | 10699 2975 | 1997-10-09T00:00:00 2976 | 114.00 2977 | 2978 | 2979 | 10779 2980 | 1997-12-16T00:00:00 2981 | 1335.00 2982 | 2983 | 2984 | 10945 2985 | 1998-03-12T00:00:00 2986 | 245.00 2987 | 2988 | 2989 |
2990 | 2991 | NORTS 2992 | North/South 2993 |
South House, 300 Queensbridge
2994 | London 2995 | SW7 1RZ 2996 | UK 2997 | (171) 555-7733 2998 | (171) 555-2530 2999 | 3000 | 3001 | 10517 3002 | 1997-04-24T00:00:00 3003 | 352.00 3004 | 3005 | 3006 | 10752 3007 | 1997-11-24T00:00:00 3008 | 252.00 3009 | 3010 | 3011 | 11057 3012 | 1998-04-29T00:00:00 3013 | 45.00 3014 | 3015 | 3016 |
3017 | 3018 | OCEAN 3019 | Océano Atlántico Ltda. 3020 |
Ing. Gustavo Moncada 8585, Piso 20-A
3021 | Buenos Aires 3022 | 1010 3023 | Argentina 3024 | (1) 135-5333 3025 | (1) 135-5535 3026 | 3027 | 3028 | 10409 3029 | 1997-01-09T00:00:00 3030 | 319.20 3031 | 3032 | 3033 | 10531 3034 | 1997-05-08T00:00:00 3035 | 110.00 3036 | 3037 | 3038 | 10898 3039 | 1998-02-20T00:00:00 3040 | 30.00 3041 | 3042 | 3043 | 10958 3044 | 1998-03-18T00:00:00 3045 | 781.00 3046 | 3047 | 3048 | 10986 3049 | 1998-03-30T00:00:00 3050 | 2220.00 3051 | 3052 | 3053 |
3054 | 3055 | OLDWO 3056 | Old World Delicatessen 3057 |
2743 Bering St.
3058 | Anchorage 3059 | AK 3060 | 99508 3061 | USA 3062 | (907) 555-7584 3063 | (907) 555-2880 3064 | 3065 | 3066 | 10260 3067 | 1996-07-19T00:00:00 3068 | 1504.65 3069 | 3070 | 3071 | 10305 3072 | 1996-09-13T00:00:00 3073 | 3741.30 3074 | 3075 | 3076 | 10338 3077 | 1996-10-25T00:00:00 3078 | 934.50 3079 | 3080 | 3081 | 10441 3082 | 1997-02-10T00:00:00 3083 | 1755.00 3084 | 3085 | 3086 | 10594 3087 | 1997-07-09T00:00:00 3088 | 565.50 3089 | 3090 | 3091 | 10680 3092 | 1997-09-24T00:00:00 3093 | 1261.88 3094 | 3095 | 3096 | 10706 3097 | 1997-10-16T00:00:00 3098 | 1893.00 3099 | 3100 | 3101 | 10855 3102 | 1998-01-27T00:00:00 3103 | 2227.89 3104 | 3105 | 3106 | 10965 3107 | 1998-03-20T00:00:00 3108 | 848.00 3109 | 3110 | 3111 | 11034 3112 | 1998-04-20T00:00:00 3113 | 539.40 3114 | 3115 | 3116 |
3117 | 3118 | OTTIK 3119 | Ottilies Käseladen 3120 |
Mehrheimerstr. 369
3121 | Köln 3122 | 50739 3123 | Germany 3124 | 0221-0644327 3125 | 0221-0765721 3126 | 3127 | 3128 | 10407 3129 | 1997-01-07T00:00:00 3130 | 1194.00 3131 | 3132 | 3133 | 10508 3134 | 1997-04-16T00:00:00 3135 | 240.00 3136 | 3137 | 3138 | 10554 3139 | 1997-05-30T00:00:00 3140 | 1728.52 3141 | 3142 | 3143 | 10580 3144 | 1997-06-26T00:00:00 3145 | 1013.74 3146 | 3147 | 3148 | 10684 3149 | 1997-09-26T00:00:00 3150 | 1768.00 3151 | 3152 | 3153 | 10766 3154 | 1997-12-05T00:00:00 3155 | 2310.00 3156 | 3157 | 3158 | 10833 3159 | 1998-01-15T00:00:00 3160 | 906.93 3161 | 3162 | 3163 | 10999 3164 | 1998-04-03T00:00:00 3165 | 1197.95 3166 | 3167 | 3168 | 11020 3169 | 1998-04-14T00:00:00 3170 | 632.40 3171 | 3172 | 3173 |
3174 | 3175 | PARIS 3176 | Paris spécialités 3177 |
265, boulevard Charonne
3178 | Paris 3179 | 75012 3180 | France 3181 | (1) 42.34.22.66 3182 | (1) 42.34.22.77 3183 | 3184 |
3185 | 3186 | PERIC 3187 | Pericles Comidas clásicas 3188 |
Calle Dr. Jorge Cash 321
3189 | México D.F. 3190 | 05033 3191 | Mexico 3192 | (5) 552-3745 3193 | (5) 545-3745 3194 | 3195 | 3196 | 10322 3197 | 1996-10-04T00:00:00 3198 | 112.00 3199 | 3200 | 3201 | 10354 3202 | 1996-11-14T00:00:00 3203 | 568.80 3204 | 3205 | 3206 | 10474 3207 | 1997-03-13T00:00:00 3208 | 1249.10 3209 | 3210 | 3211 | 10502 3212 | 1997-04-10T00:00:00 3213 | 816.30 3214 | 3215 | 3216 | 10995 3217 | 1998-04-02T00:00:00 3218 | 1196.00 3219 | 3220 | 3221 | 11073 3222 | 1998-05-05T00:00:00 3223 | 300.00 3224 | 3225 | 3226 |
3227 | 3228 | PICCO 3229 | Piccolo und mehr 3230 |
Geislweg 14
3231 | Salzburg 3232 | 5020 3233 | Austria 3234 | 6562-9722 3235 | 6562-9723 3236 | 3237 | 3238 | 10353 3239 | 1996-11-13T00:00:00 3240 | 8593.28 3241 | 3242 | 3243 | 10392 3244 | 1996-12-24T00:00:00 3245 | 1440.00 3246 | 3247 | 3248 | 10427 3249 | 1997-01-27T00:00:00 3250 | 651.00 3251 | 3252 | 3253 | 10489 3254 | 1997-03-28T00:00:00 3255 | 439.20 3256 | 3257 | 3258 | 10530 3259 | 1997-05-08T00:00:00 3260 | 4180.00 3261 | 3262 | 3263 | 10597 3264 | 1997-07-11T00:00:00 3265 | 718.08 3266 | 3267 | 3268 | 10686 3269 | 1997-09-30T00:00:00 3270 | 1404.45 3271 | 3272 | 3273 | 10747 3274 | 1997-11-19T00:00:00 3275 | 1912.85 3276 | 3277 | 3278 | 10844 3279 | 1998-01-21T00:00:00 3280 | 735.00 3281 | 3282 | 3283 | 11053 3284 | 1998-04-27T00:00:00 3285 | 3055.00 3286 | 3287 | 3288 |
3289 | 3290 | PRINI 3291 | Princesa Isabel Vinhos 3292 |
Estrada da saúde n. 58
3293 | Lisboa 3294 | 1756 3295 | Portugal 3296 | (1) 356-5634 3297 | 3298 | 3299 | 10336 3300 | 1996-10-23T00:00:00 3301 | 285.12 3302 | 3303 | 3304 | 10397 3305 | 1996-12-27T00:00:00 3306 | 716.72 3307 | 3308 | 3309 | 10433 3310 | 1997-02-03T00:00:00 3311 | 851.20 3312 | 3313 | 3314 | 10477 3315 | 1997-03-17T00:00:00 3316 | 558.00 3317 | 3318 | 3319 | 10808 3320 | 1998-01-01T00:00:00 3321 | 1411.00 3322 | 3323 | 3324 | 11007 3325 | 1998-04-08T00:00:00 3326 | 2633.90 3327 | 3328 | 3329 |
3330 | 3331 | QUEDE 3332 | Que Delícia 3333 |
Rua da Panificadora, 12
3334 | Rio de Janeiro 3335 | RJ 3336 | 02389-673 3337 | Brazil 3338 | (21) 555-4252 3339 | (21) 555-4545 3340 | 3341 | 3342 | 10261 3343 | 1996-07-19T00:00:00 3344 | 448.00 3345 | 3346 | 3347 | 10291 3348 | 1996-08-27T00:00:00 3349 | 497.52 3350 | 3351 | 3352 | 10379 3353 | 1996-12-11T00:00:00 3354 | 863.28 3355 | 3356 | 3357 | 10421 3358 | 1997-01-21T00:00:00 3359 | 1194.27 3360 | 3361 | 3362 | 10587 3363 | 1997-07-02T00:00:00 3364 | 807.38 3365 | 3366 | 3367 | 10647 3368 | 1997-08-27T00:00:00 3369 | 636.00 3370 | 3371 | 3372 | 10720 3373 | 1997-10-28T00:00:00 3374 | 550.00 3375 | 3376 | 3377 | 10794 3378 | 1997-12-24T00:00:00 3379 | 314.76 3380 | 3381 | 3382 | 10989 3383 | 1998-03-31T00:00:00 3384 | 1353.60 3385 | 3386 | 3387 |
3388 | 3389 | QUEEN 3390 | Queen Cozinha 3391 |
Alameda dos Canàrios, 891
3392 | São Paulo 3393 | SP 3394 | 05487-020 3395 | Brazil 3396 | (11) 555-1189 3397 | 3398 | 3399 | 10372 3400 | 1996-12-04T00:00:00 3401 | 9210.90 3402 | 3403 | 3404 | 10406 3405 | 1997-01-07T00:00:00 3406 | 1830.78 3407 | 3408 | 3409 | 10487 3410 | 1997-03-26T00:00:00 3411 | 889.70 3412 | 3413 | 3414 | 10637 3415 | 1997-08-19T00:00:00 3416 | 2761.94 3417 | 3418 | 3419 | 10659 3420 | 1997-09-05T00:00:00 3421 | 1227.02 3422 | 3423 | 3424 | 10704 3425 | 1997-10-14T00:00:00 3426 | 595.50 3427 | 3428 | 3429 | 10728 3430 | 1997-11-04T00:00:00 3431 | 1296.75 3432 | 3433 | 3434 | 10786 3435 | 1997-12-19T00:00:00 3436 | 1531.08 3437 | 3438 | 3439 | 10868 3440 | 1998-02-04T00:00:00 3441 | 1920.60 3442 | 3443 | 3444 | 10913 3445 | 1998-02-26T00:00:00 3446 | 768.75 3447 | 3448 | 3449 | 10914 3450 | 1998-02-27T00:00:00 3451 | 537.50 3452 | 3453 | 3454 | 10961 3455 | 1998-03-19T00:00:00 3456 | 1119.90 3457 | 3458 | 3459 | 11068 3460 | 1998-05-04T00:00:00 3461 | 2027.08 3462 | 3463 | 3464 |
3465 | 3466 | QUICK 3467 | QUICK-Stop 3468 |
Taucherstraße 10
3469 | Cunewalde 3470 | 01307 3471 | Germany 3472 | 0372-035188 3473 | 3474 | 3475 | 10273 3476 | 1996-08-05T00:00:00 3477 | 2037.28 3478 | 3479 | 3480 | 10285 3481 | 1996-08-20T00:00:00 3482 | 1743.36 3483 | 3484 | 3485 | 10286 3486 | 1996-08-21T00:00:00 3487 | 3016.00 3488 | 3489 | 3490 | 10313 3491 | 1996-09-24T00:00:00 3492 | 182.40 3493 | 3494 | 3495 | 10345 3496 | 1996-11-04T00:00:00 3497 | 2924.80 3498 | 3499 | 3500 | 10361 3501 | 1996-11-22T00:00:00 3502 | 2046.24 3503 | 3504 | 3505 | 10418 3506 | 1997-01-17T00:00:00 3507 | 1814.80 3508 | 3509 | 3510 | 10451 3511 | 1997-02-19T00:00:00 3512 | 3849.66 3513 | 3514 | 3515 | 10515 3516 | 1997-04-23T00:00:00 3517 | 9921.30 3518 | 3519 | 3520 | 10527 3521 | 1997-05-05T00:00:00 3522 | 1503.00 3523 | 3524 | 3525 | 10540 3526 | 1997-05-19T00:00:00 3527 | 10191.70 3528 | 3529 | 3530 | 10549 3531 | 1997-05-27T00:00:00 3532 | 3554.28 3533 | 3534 | 3535 | 10588 3536 | 1997-07-03T00:00:00 3537 | 3120.00 3538 | 3539 | 3540 | 10658 3541 | 1997-09-05T00:00:00 3542 | 4464.60 3543 | 3544 | 3545 | 10691 3546 | 1997-10-03T00:00:00 3547 | 10164.80 3548 | 3549 | 3550 | 10694 3551 | 1997-10-06T00:00:00 3552 | 4825.00 3553 | 3554 | 3555 | 10721 3556 | 1997-10-29T00:00:00 3557 | 923.88 3558 | 3559 | 3560 | 10745 3561 | 1997-11-18T00:00:00 3562 | 4529.80 3563 | 3564 | 3565 | 10765 3566 | 1997-12-04T00:00:00 3567 | 1515.60 3568 | 3569 | 3570 | 10788 3571 | 1997-12-22T00:00:00 3572 | 731.50 3573 | 3574 | 3575 | 10845 3576 | 1998-01-21T00:00:00 3577 | 3812.70 3578 | 3579 | 3580 | 10865 3581 | 1998-02-02T00:00:00 3582 | 16387.50 3583 | 3584 | 3585 | 10878 3586 | 1998-02-10T00:00:00 3587 | 1539.00 3588 | 3589 | 3590 | 10938 3591 | 1998-03-10T00:00:00 3592 | 2731.88 3593 | 3594 | 3595 | 10962 3596 | 1998-03-19T00:00:00 3597 | 3584.00 3598 | 3599 | 3600 | 10991 3601 | 1998-04-01T00:00:00 3602 | 2296.00 3603 | 3604 | 3605 | 10996 3606 | 1998-04-02T00:00:00 3607 | 560.00 3608 | 3609 | 3610 | 11021 3611 | 1998-04-14T00:00:00 3612 | 6306.24 3613 | 3614 | 3615 |
3616 | 3617 | RANCH 3618 | Rancho grande 3619 |
Av. del Libertador 900
3620 | Buenos Aires 3621 | 1010 3622 | Argentina 3623 | (1) 123-5555 3624 | (1) 123-5556 3625 | 3626 | 3627 | 10448 3628 | 1997-02-17T00:00:00 3629 | 443.40 3630 | 3631 | 3632 | 10716 3633 | 1997-10-24T00:00:00 3634 | 706.00 3635 | 3636 | 3637 | 10828 3638 | 1998-01-13T00:00:00 3639 | 932.00 3640 | 3641 | 3642 | 10916 3643 | 1998-02-27T00:00:00 3644 | 686.70 3645 | 3646 | 3647 | 11019 3648 | 1998-04-13T00:00:00 3649 | 76.00 3650 | 3651 | 3652 |
3653 | 3654 | RATTC 3655 | Rattlesnake Canyon Grocery 3656 |
2817 Milton Dr.
3657 | Albuquerque 3658 | NM 3659 | 87110 3660 | USA 3661 | (505) 555-5939 3662 | (505) 555-3620 3663 | 3664 | 3665 | 10262 3666 | 1996-07-22T00:00:00 3667 | 584.00 3668 | 3669 | 3670 | 10272 3671 | 1996-08-02T00:00:00 3672 | 1456.00 3673 | 3674 | 3675 | 10294 3676 | 1996-08-30T00:00:00 3677 | 1887.60 3678 | 3679 | 3680 | 10314 3681 | 1996-09-25T00:00:00 3682 | 2094.30 3683 | 3684 | 3685 | 10316 3686 | 1996-09-27T00:00:00 3687 | 2835.00 3688 | 3689 | 3690 | 10346 3691 | 1996-11-05T00:00:00 3692 | 1618.88 3693 | 3694 | 3695 | 10401 3696 | 1997-01-01T00:00:00 3697 | 3868.60 3698 | 3699 | 3700 | 10479 3701 | 1997-03-19T00:00:00 3702 | 10495.60 3703 | 3704 | 3705 | 10564 3706 | 1997-06-10T00:00:00 3707 | 1234.05 3708 | 3709 | 3710 | 10569 3711 | 1997-06-16T00:00:00 3712 | 890.00 3713 | 3714 | 3715 | 10598 3716 | 1997-07-14T00:00:00 3717 | 2388.50 3718 | 3719 | 3720 | 10761 3721 | 1997-12-02T00:00:00 3722 | 507.00 3723 | 3724 | 3725 | 10820 3726 | 1998-01-07T00:00:00 3727 | 1140.00 3728 | 3729 | 3730 | 10852 3731 | 1998-01-26T00:00:00 3732 | 2984.00 3733 | 3734 | 3735 | 10889 3736 | 1998-02-16T00:00:00 3737 | 11380.00 3738 | 3739 | 3740 | 10988 3741 | 1998-03-31T00:00:00 3742 | 3574.80 3743 | 3744 | 3745 | 11000 3746 | 1998-04-06T00:00:00 3747 | 903.75 3748 | 3749 | 3750 | 11077 3751 | 1998-05-06T00:00:00 3752 | 1255.72 3753 | 3754 | 3755 |
3756 | 3757 | REGGC 3758 | Reggiani Caseifici 3759 |
Strada Provinciale 124
3760 | Reggio Emilia 3761 | 42100 3762 | Italy 3763 | 0522-556721 3764 | 0522-556722 3765 | 3766 | 3767 | 10288 3768 | 1996-08-23T00:00:00 3769 | 80.10 3770 | 3771 | 3772 | 10428 3773 | 1997-01-28T00:00:00 3774 | 192.00 3775 | 3776 | 3777 | 10443 3778 | 1997-02-12T00:00:00 3779 | 517.44 3780 | 3781 | 3782 | 10562 3783 | 1997-06-09T00:00:00 3784 | 488.70 3785 | 3786 | 3787 | 10586 3788 | 1997-07-02T00:00:00 3789 | 23.80 3790 | 3791 | 3792 | 10655 3793 | 1997-09-03T00:00:00 3794 | 154.40 3795 | 3796 | 3797 | 10727 3798 | 1997-11-03T00:00:00 3799 | 1624.50 3800 | 3801 | 3802 | 10812 3803 | 1998-01-02T00:00:00 3804 | 1692.80 3805 | 3806 | 3807 | 10908 3808 | 1998-02-26T00:00:00 3809 | 663.10 3810 | 3811 | 3812 | 10942 3813 | 1998-03-11T00:00:00 3814 | 560.00 3815 | 3816 | 3817 | 11010 3818 | 1998-04-09T00:00:00 3819 | 645.00 3820 | 3821 | 3822 | 11062 3823 | 1998-04-30T00:00:00 3824 | 406.40 3825 | 3826 | 3827 |
3828 | 3829 | RICAR 3830 | Ricardo Adocicados 3831 |
Av. Copacabana, 267
3832 | Rio de Janeiro 3833 | RJ 3834 | 02389-890 3835 | Brazil 3836 | (21) 555-3412 3837 | 3838 | 3839 | 10287 3840 | 1996-08-22T00:00:00 3841 | 819.00 3842 | 3843 | 3844 | 10299 3845 | 1996-09-06T00:00:00 3846 | 349.50 3847 | 3848 | 3849 | 10447 3850 | 1997-02-14T00:00:00 3851 | 914.40 3852 | 3853 | 3854 | 10481 3855 | 1997-03-20T00:00:00 3856 | 1472.00 3857 | 3858 | 3859 | 10563 3860 | 1997-06-10T00:00:00 3861 | 965.00 3862 | 3863 | 3864 | 10622 3865 | 1997-08-06T00:00:00 3866 | 560.00 3867 | 3868 | 3869 | 10648 3870 | 1997-08-28T00:00:00 3871 | 372.38 3872 | 3873 | 3874 | 10813 3875 | 1998-01-05T00:00:00 3876 | 602.40 3877 | 3878 | 3879 | 10851 3880 | 1998-01-26T00:00:00 3881 | 2603.00 3882 | 3883 | 3884 | 10877 3885 | 1998-02-09T00:00:00 3886 | 1955.12 3887 | 3888 | 3889 | 11059 3890 | 1998-04-29T00:00:00 3891 | 1838.00 3892 | 3893 | 3894 |
3895 | 3896 | RICSU 3897 | Richter Supermarkt 3898 |
Grenzacherweg 237
3899 | Genève 3900 | 1203 3901 | Switzerland 3902 | 0897-034214 3903 | 3904 | 3905 | 10255 3906 | 1996-07-12T00:00:00 3907 | 2490.50 3908 | 3909 | 3910 | 10419 3911 | 1997-01-20T00:00:00 3912 | 2097.60 3913 | 3914 | 3915 | 10537 3916 | 1997-05-14T00:00:00 3917 | 1823.80 3918 | 3919 | 3920 | 10666 3921 | 1997-09-12T00:00:00 3922 | 4666.94 3923 | 3924 | 3925 | 10751 3926 | 1997-11-24T00:00:00 3927 | 1631.48 3928 | 3929 | 3930 | 10758 3931 | 1997-11-28T00:00:00 3932 | 1644.60 3933 | 3934 | 3935 | 10931 3936 | 1998-03-06T00:00:00 3937 | 799.20 3938 | 3939 | 3940 | 10951 3941 | 1998-03-16T00:00:00 3942 | 458.76 3943 | 3944 | 3945 | 11033 3946 | 1998-04-17T00:00:00 3947 | 3232.80 3948 | 3949 | 3950 | 11075 3951 | 1998-05-06T00:00:00 3952 | 498.10 3953 | 3954 | 3955 |
3956 | 3957 | ROMEY 3958 | Romero y tomillo 3959 |
Gran Vía, 1
3960 | Madrid 3961 | 28001 3962 | Spain 3963 | (91) 745 6200 3964 | (91) 745 6210 3965 | 3966 | 3967 | 10281 3968 | 1996-08-14T00:00:00 3969 | 86.50 3970 | 3971 | 3972 | 10282 3973 | 1996-08-15T00:00:00 3974 | 155.40 3975 | 3976 | 3977 | 10306 3978 | 1996-09-16T00:00:00 3979 | 498.50 3980 | 3981 | 3982 | 10917 3983 | 1998-03-02T00:00:00 3984 | 365.89 3985 | 3986 | 3987 | 11013 3988 | 1998-04-09T00:00:00 3989 | 361.00 3990 | 3991 | 3992 |
3993 | 3994 | SANTG 3995 | Santé Gourmet 3996 |
Erling Skakkes gate 78
3997 | Stavern 3998 | 4110 3999 | Norway 4000 | 07-98 92 35 4001 | 07-98 92 47 4002 | 4003 | 4004 | 10387 4005 | 1996-12-18T00:00:00 4006 | 1058.40 4007 | 4008 | 4009 | 10520 4010 | 1997-04-29T00:00:00 4011 | 200.00 4012 | 4013 | 4014 | 10639 4015 | 1997-08-20T00:00:00 4016 | 500.00 4017 | 4018 | 4019 | 10831 4020 | 1998-01-14T00:00:00 4021 | 2684.40 4022 | 4023 | 4024 | 10909 4025 | 1998-02-26T00:00:00 4026 | 670.00 4027 | 4028 | 4029 | 11015 4030 | 1998-04-10T00:00:00 4031 | 622.35 4032 | 4033 | 4034 |
4035 | 4036 | SAVEA 4037 | Save-a-lot Markets 4038 |
187 Suffolk Ln.
4039 | Boise 4040 | ID 4041 | 83720 4042 | USA 4043 | (208) 555-8097 4044 | 4045 | 4046 | 10324 4047 | 1996-10-08T00:00:00 4048 | 5275.72 4049 | 4050 | 4051 | 10393 4052 | 1996-12-25T00:00:00 4053 | 2556.95 4054 | 4055 | 4056 | 10398 4057 | 1996-12-30T00:00:00 4058 | 2505.60 4059 | 4060 | 4061 | 10440 4062 | 1997-02-10T00:00:00 4063 | 4924.14 4064 | 4065 | 4066 | 10452 4067 | 1997-02-20T00:00:00 4068 | 2018.50 4069 | 4070 | 4071 | 10510 4072 | 1997-04-18T00:00:00 4073 | 4707.54 4074 | 4075 | 4076 | 10555 4077 | 1997-06-02T00:00:00 4078 | 2944.40 4079 | 4080 | 4081 | 10603 4082 | 1997-07-18T00:00:00 4083 | 1483.00 4084 | 4085 | 4086 | 10607 4087 | 1997-07-22T00:00:00 4088 | 6475.40 4089 | 4090 | 4091 | 10612 4092 | 1997-07-28T00:00:00 4093 | 6375.00 4094 | 4095 | 4096 | 10627 4097 | 1997-08-11T00:00:00 4098 | 1185.75 4099 | 4100 | 4101 | 10657 4102 | 1997-09-04T00:00:00 4103 | 4371.60 4104 | 4105 | 4106 | 10678 4107 | 1997-09-23T00:00:00 4108 | 5256.50 4109 | 4110 | 4111 | 10700 4112 | 1997-10-10T00:00:00 4113 | 1638.40 4114 | 4115 | 4116 | 10711 4117 | 1997-10-21T00:00:00 4118 | 4451.70 4119 | 4120 | 4121 | 10713 4122 | 1997-10-22T00:00:00 4123 | 2827.90 4124 | 4125 | 4126 | 10714 4127 | 1997-10-22T00:00:00 4128 | 2205.75 4129 | 4130 | 4131 | 10722 4132 | 1997-10-29T00:00:00 4133 | 1570.00 4134 | 4135 | 4136 | 10748 4137 | 1997-11-20T00:00:00 4138 | 2196.00 4139 | 4140 | 4141 | 10757 4142 | 1997-11-27T00:00:00 4143 | 3082.00 4144 | 4145 | 4146 | 10815 4147 | 1998-01-05T00:00:00 4148 | 40.00 4149 | 4150 | 4151 | 10847 4152 | 1998-01-22T00:00:00 4153 | 4931.92 4154 | 4155 | 4156 | 10882 4157 | 1998-02-11T00:00:00 4158 | 892.64 4159 | 4160 | 4161 | 10894 4162 | 1998-02-18T00:00:00 4163 | 2753.10 4164 | 4165 | 4166 | 10941 4167 | 1998-03-11T00:00:00 4168 | 4011.75 4169 | 4170 | 4171 | 10983 4172 | 1998-03-27T00:00:00 4173 | 720.90 4174 | 4175 | 4176 | 10984 4177 | 1998-03-30T00:00:00 4178 | 1809.75 4179 | 4180 | 4181 | 11002 4182 | 1998-04-06T00:00:00 4183 | 1811.10 4184 | 4185 | 4186 | 11030 4187 | 1998-04-17T00:00:00 4188 | 12615.05 4189 | 4190 | 4191 | 11031 4192 | 1998-04-17T00:00:00 4193 | 2393.50 4194 | 4195 | 4196 | 11064 4197 | 1998-05-01T00:00:00 4198 | 4330.40 4199 | 4200 | 4201 |
4202 | 4203 | SEVES 4204 | Seven Seas Imports 4205 |
90 Wadhurst Rd.
4206 | London 4207 | OX15 4NB 4208 | UK 4209 | (171) 555-1717 4210 | (171) 555-5646 4211 | 4212 | 4213 | 10359 4214 | 1996-11-21T00:00:00 4215 | 3471.68 4216 | 4217 | 4218 | 10377 4219 | 1996-12-09T00:00:00 4220 | 863.60 4221 | 4222 | 4223 | 10388 4224 | 1996-12-19T00:00:00 4225 | 1228.80 4226 | 4227 | 4228 | 10472 4229 | 1997-03-12T00:00:00 4230 | 1036.80 4231 | 4232 | 4233 | 10523 4234 | 1997-05-01T00:00:00 4235 | 2444.31 4236 | 4237 | 4238 | 10547 4239 | 1997-05-23T00:00:00 4240 | 1792.80 4241 | 4242 | 4243 | 10800 4244 | 1997-12-26T00:00:00 4245 | 1468.94 4246 | 4247 | 4248 | 10804 4249 | 1997-12-30T00:00:00 4250 | 2278.40 4251 | 4252 | 4253 | 10869 4254 | 1998-02-04T00:00:00 4255 | 1630.00 4256 | 4257 | 4258 |
4259 | 4260 | SIMOB 4261 | Simons bistro 4262 |
Vinbæltet 34
4263 | København 4264 | 1734 4265 | Denmark 4266 | 31 12 34 56 4267 | 31 13 35 57 4268 | 4269 | 4270 | 10341 4271 | 1996-10-29T00:00:00 4272 | 352.60 4273 | 4274 | 4275 | 10417 4276 | 1997-01-16T00:00:00 4277 | 11188.40 4278 | 4279 | 4280 | 10556 4281 | 1997-06-03T00:00:00 4282 | 835.20 4283 | 4284 | 4285 | 10642 4286 | 1997-08-22T00:00:00 4287 | 696.00 4288 | 4289 | 4290 | 10669 4291 | 1997-09-15T00:00:00 4292 | 570.00 4293 | 4294 | 4295 | 10802 4296 | 1997-12-29T00:00:00 4297 | 2942.81 4298 | 4299 | 4300 | 11074 4301 | 1998-05-06T00:00:00 4302 | 232.08 4303 | 4304 | 4305 |
4306 | 4307 | SPECD 4308 | Spécialités du monde 4309 |
25, rue Lauriston
4310 | Paris 4311 | 75016 4312 | France 4313 | (1) 47.55.60.10 4314 | (1) 47.55.60.20 4315 | 4316 | 4317 | 10738 4318 | 1997-11-12T00:00:00 4319 | 52.35 4320 | 4321 | 4322 | 10907 4323 | 1998-02-25T00:00:00 4324 | 108.50 4325 | 4326 | 4327 | 10964 4328 | 1998-03-20T00:00:00 4329 | 2052.50 4330 | 4331 | 4332 | 11043 4333 | 1998-04-22T00:00:00 4334 | 210.00 4335 | 4336 | 4337 |
4338 | 4339 | SPLIR 4340 | Split Rail Beer & Ale 4341 |
P.O. Box 555
4342 | Lander 4343 | WY 4344 | 82520 4345 | USA 4346 | (307) 555-4680 4347 | (307) 555-6525 4348 | 4349 | 4350 | 10271 4351 | 1996-08-01T00:00:00 4352 | 48.00 4353 | 4354 | 4355 | 10329 4356 | 1996-10-15T00:00:00 4357 | 4578.43 4358 | 4359 | 4360 | 10349 4361 | 1996-11-08T00:00:00 4362 | 141.60 4363 | 4364 | 4365 | 10369 4366 | 1996-12-02T00:00:00 4367 | 2390.40 4368 | 4369 | 4370 | 10385 4371 | 1996-12-17T00:00:00 4372 | 691.20 4373 | 4374 | 4375 | 10432 4376 | 1997-01-31T00:00:00 4377 | 485.00 4378 | 4379 | 4380 | 10756 4381 | 1997-11-27T00:00:00 4382 | 1990.00 4383 | 4384 | 4385 | 10821 4386 | 1998-01-08T00:00:00 4387 | 678.00 4388 | 4389 | 4390 | 10974 4391 | 1998-03-25T00:00:00 4392 | 439.00 4393 | 4394 | 4395 |
4396 | 4397 | SUPRD 4398 | Suprêmes délices 4399 |
Boulevard Tirou, 255
4400 | Charleroi 4401 | B-6000 4402 | Belgium 4403 | (071) 23 67 22 20 4404 | (071) 23 67 22 21 4405 | 4406 | 4407 | 10252 4408 | 1996-07-09T00:00:00 4409 | 3597.90 4410 | 4411 | 4412 | 10302 4413 | 1996-09-10T00:00:00 4414 | 2708.80 4415 | 4416 | 4417 | 10458 4418 | 1997-02-26T00:00:00 4419 | 3891.00 4420 | 4421 | 4422 | 10463 4423 | 1997-03-04T00:00:00 4424 | 713.30 4425 | 4426 | 4427 | 10475 4428 | 1997-03-14T00:00:00 4429 | 1505.18 4430 | 4431 | 4432 | 10767 4433 | 1997-12-05T00:00:00 4434 | 28.00 4435 | 4436 | 4437 | 10841 4438 | 1998-01-20T00:00:00 4439 | 4581.00 4440 | 4441 | 4442 | 10846 4443 | 1998-01-22T00:00:00 4444 | 1112.00 4445 | 4446 | 4447 | 10885 4448 | 1998-02-12T00:00:00 4449 | 1209.00 4450 | 4451 | 4452 | 10930 4453 | 1998-03-06T00:00:00 4454 | 2255.50 4455 | 4456 | 4457 | 11035 4458 | 1998-04-20T00:00:00 4459 | 1754.50 4460 | 4461 | 4462 | 11038 4463 | 1998-04-21T00:00:00 4464 | 732.60 4465 | 4466 | 4467 |
4468 | 4469 | THEBI 4470 | The Big Cheese 4471 |
89 Jefferson Way, Suite 2
4472 | Portland 4473 | OR 4474 | 97201 4475 | USA 4476 | (503) 555-3612 4477 | 4478 | 4479 | 10310 4480 | 1996-09-20T00:00:00 4481 | 336.00 4482 | 4483 | 4484 | 10708 4485 | 1997-10-17T00:00:00 4486 | 180.40 4487 | 4488 | 4489 | 10805 4490 | 1997-12-30T00:00:00 4491 | 2775.00 4492 | 4493 | 4494 | 10992 4495 | 1998-04-01T00:00:00 4496 | 69.60 4497 | 4498 | 4499 |
4500 | 4501 | THECR 4502 | The Cracker Box 4503 |
55 Grizzly Peak Rd.
4504 | Butte 4505 | MT 4506 | 59801 4507 | USA 4508 | (406) 555-5834 4509 | (406) 555-8083 4510 | 4511 | 4512 | 10624 4513 | 1997-08-07T00:00:00 4514 | 1393.24 4515 | 4516 | 4517 | 10775 4518 | 1997-12-12T00:00:00 4519 | 228.00 4520 | 4521 | 4522 | 11003 4523 | 1998-04-06T00:00:00 4524 | 326.00 4525 | 4526 | 4527 |
4528 | 4529 | TOMSP 4530 | Toms Spezialitäten 4531 |
Luisenstr. 48
4532 | Münster 4533 | 44087 4534 | Germany 4535 | 0251-031259 4536 | 0251-035695 4537 | 4538 | 4539 | 10438 4540 | 1997-02-06T00:00:00 4541 | 454.00 4542 | 4543 | 4544 | 10446 4545 | 1997-02-14T00:00:00 4546 | 246.24 4547 | 4548 | 4549 | 10548 4550 | 1997-05-26T00:00:00 4551 | 240.10 4552 | 4553 | 4554 | 10608 4555 | 1997-07-23T00:00:00 4556 | 1064.00 4557 | 4558 | 4559 | 10967 4560 | 1998-03-23T00:00:00 4561 | 910.40 4562 | 4563 | 4564 |
4565 | 4566 | TORTU 4567 | Tortuga Restaurante 4568 |
Avda. Azteca 123
4569 | México D.F. 4570 | 05033 4571 | Mexico 4572 | (5) 555-2933 4573 | 4574 | 4575 | 10276 4576 | 1996-08-08T00:00:00 4577 | 420.00 4578 | 4579 | 4580 | 10293 4581 | 1996-08-29T00:00:00 4582 | 848.70 4583 | 4584 | 4585 | 10304 4586 | 1996-09-12T00:00:00 4587 | 954.40 4588 | 4589 | 4590 | 10319 4591 | 1996-10-02T00:00:00 4592 | 1191.20 4593 | 4594 | 4595 | 10518 4596 | 1997-04-25T00:00:00 4597 | 4150.05 4598 | 4599 | 4600 | 10576 4601 | 1997-06-23T00:00:00 4602 | 838.45 4603 | 4604 | 4605 | 10676 4606 | 1997-09-22T00:00:00 4607 | 534.85 4608 | 4609 | 4610 | 10842 4611 | 1998-01-20T00:00:00 4612 | 975.00 4613 | 4614 | 4615 | 10915 4616 | 1998-02-27T00:00:00 4617 | 539.50 4618 | 4619 | 4620 | 11069 4621 | 1998-05-04T00:00:00 4622 | 360.00 4623 | 4624 | 4625 |
4626 | 4627 | TRADH 4628 | Tradição Hipermercados 4629 |
Av. Inês de Castro, 414
4630 | São Paulo 4631 | SP 4632 | 05634-030 4633 | Brazil 4634 | (11) 555-2167 4635 | (11) 555-2168 4636 | 4637 | 4638 | 10249 4639 | 1996-07-05T00:00:00 4640 | 1863.40 4641 | 4642 | 4643 | 10292 4644 | 1996-08-28T00:00:00 4645 | 1296.00 4646 | 4647 | 4648 | 10496 4649 | 1997-04-04T00:00:00 4650 | 190.00 4651 | 4652 | 4653 | 10606 4654 | 1997-07-22T00:00:00 4655 | 1130.40 4656 | 4657 | 4658 | 10830 4659 | 1998-01-13T00:00:00 4660 | 1974.00 4661 | 4662 | 4663 | 10834 4664 | 1998-01-15T00:00:00 4665 | 1432.71 4666 | 4667 | 4668 | 10839 4669 | 1998-01-19T00:00:00 4670 | 827.55 4671 | 4672 | 4673 |
4674 | 4675 | TRAIH 4676 | Trail's Head Gourmet Provisioners 4677 |
722 DaVinci Blvd.
4678 | Kirkland 4679 | WA 4680 | 98034 4681 | USA 4682 | (206) 555-8257 4683 | (206) 555-2174 4684 | 4685 | 4686 | 10574 4687 | 1997-06-19T00:00:00 4688 | 764.30 4689 | 4690 | 4691 | 10577 4692 | 1997-06-23T00:00:00 4693 | 569.00 4694 | 4695 | 4696 | 10822 4697 | 1998-01-08T00:00:00 4698 | 237.90 4699 | 4700 | 4701 |
4702 | 4703 | VAFFE 4704 | Vaffeljernet 4705 |
Smagsløget 45
4706 | Århus 4707 | 8200 4708 | Denmark 4709 | 86 21 32 43 4710 | 86 22 33 44 4711 | 4712 | 4713 | 10367 4714 | 1996-11-28T00:00:00 4715 | 834.20 4716 | 4717 | 4718 | 10399 4719 | 1996-12-31T00:00:00 4720 | 1765.60 4721 | 4722 | 4723 | 10465 4724 | 1997-03-05T00:00:00 4725 | 2518.00 4726 | 4727 | 4728 | 10591 4729 | 1997-07-07T00:00:00 4730 | 812.50 4731 | 4732 | 4733 | 10602 4734 | 1997-07-17T00:00:00 4735 | 48.75 4736 | 4737 | 4738 | 10688 4739 | 1997-10-01T00:00:00 4740 | 3160.60 4741 | 4742 | 4743 | 10744 4744 | 1997-11-17T00:00:00 4745 | 736.00 4746 | 4747 | 4748 | 10769 4749 | 1997-12-08T00:00:00 4750 | 1684.28 4751 | 4752 | 4753 | 10921 4754 | 1998-03-03T00:00:00 4755 | 1936.00 4756 | 4757 | 4758 | 10946 4759 | 1998-03-12T00:00:00 4760 | 1407.50 4761 | 4762 | 4763 | 10994 4764 | 1998-04-02T00:00:00 4765 | 940.50 4766 | 4767 | 4768 |
4769 | 4770 | VICTE 4771 | Victuailles en stock 4772 |
2, rue du Commerce
4773 | Lyon 4774 | 69004 4775 | France 4776 | 78.32.54.86 4777 | 78.32.54.87 4778 | 4779 | 4780 | 10251 4781 | 1996-07-08T00:00:00 4782 | 654.06 4783 | 4784 | 4785 | 10334 4786 | 1996-10-21T00:00:00 4787 | 144.80 4788 | 4789 | 4790 | 10450 4791 | 1997-02-19T00:00:00 4792 | 425.12 4793 | 4794 | 4795 | 10459 4796 | 1997-02-27T00:00:00 4797 | 1659.20 4798 | 4799 | 4800 | 10478 4801 | 1997-03-18T00:00:00 4802 | 471.20 4803 | 4804 | 4805 | 10546 4806 | 1997-05-23T00:00:00 4807 | 2812.00 4808 | 4809 | 4810 | 10806 4811 | 1997-12-31T00:00:00 4812 | 439.60 4813 | 4814 | 4815 | 10814 4816 | 1998-01-05T00:00:00 4817 | 1788.45 4818 | 4819 | 4820 | 10843 4821 | 1998-01-21T00:00:00 4822 | 159.00 4823 | 4824 | 4825 | 10850 4826 | 1998-01-23T00:00:00 4827 | 629.00 4828 | 4829 | 4830 |
4831 | 4832 | VINET 4833 | Vins et alcools Chevalier 4834 |
59 rue de l'Abbaye
4835 | Reims 4836 | 51100 4837 | France 4838 | 26.47.15.10 4839 | 26.47.15.11 4840 | 4841 | 4842 | 10274 4843 | 1996-08-06T00:00:00 4844 | 538.60 4845 | 4846 | 4847 | 10295 4848 | 1996-09-02T00:00:00 4849 | 121.60 4850 | 4851 | 4852 | 10737 4853 | 1997-11-11T00:00:00 4854 | 139.80 4855 | 4856 | 4857 | 10739 4858 | 1997-11-12T00:00:00 4859 | 240.00 4860 | 4861 | 4862 |
4863 | 4864 | WANDK 4865 | Die Wandernde Kuh 4866 |
Adenauerallee 900
4867 | Stuttgart 4868 | 70563 4869 | Germany 4870 | 0711-020361 4871 | 0711-035428 4872 | 4873 | 4874 | 10301 4875 | 1996-09-09T00:00:00 4876 | 755.00 4877 | 4878 | 4879 | 10312 4880 | 1996-09-23T00:00:00 4881 | 1614.80 4882 | 4883 | 4884 | 10348 4885 | 1996-11-07T00:00:00 4886 | 363.60 4887 | 4888 | 4889 | 10356 4890 | 1996-11-18T00:00:00 4891 | 1106.40 4892 | 4893 | 4894 | 10513 4895 | 1997-04-22T00:00:00 4896 | 1942.00 4897 | 4898 | 4899 | 10632 4900 | 1997-08-14T00:00:00 4901 | 589.00 4902 | 4903 | 4904 | 10640 4905 | 1997-08-21T00:00:00 4906 | 708.75 4907 | 4908 | 4909 | 10651 4910 | 1997-09-01T00:00:00 4911 | 397.80 4912 | 4913 | 4914 | 10668 4915 | 1997-09-15T00:00:00 4916 | 625.28 4917 | 4918 | 4919 | 11046 4920 | 1998-04-23T00:00:00 4921 | 1485.80 4922 | 4923 | 4924 |
4925 | 4926 | WARTH 4927 | Wartian Herkku 4928 |
Torikatu 38
4929 | Oulu 4930 | 90110 4931 | Finland 4932 | 981-443655 4933 | 981-443655 4934 | 4935 | 4936 | 10266 4937 | 1996-07-26T00:00:00 4938 | 346.56 4939 | 4940 | 4941 | 10270 4942 | 1996-08-01T00:00:00 4943 | 1376.00 4944 | 4945 | 4946 | 10320 4947 | 1996-10-03T00:00:00 4948 | 516.00 4949 | 4950 | 4951 | 10333 4952 | 1996-10-18T00:00:00 4953 | 877.20 4954 | 4955 | 4956 | 10412 4957 | 1997-01-13T00:00:00 4958 | 334.80 4959 | 4960 | 4961 | 10416 4962 | 1997-01-16T00:00:00 4963 | 720.00 4964 | 4965 | 4966 | 10437 4967 | 1997-02-05T00:00:00 4968 | 393.00 4969 | 4970 | 4971 | 10455 4972 | 1997-02-24T00:00:00 4973 | 2684.00 4974 | 4975 | 4976 | 10526 4977 | 1997-05-05T00:00:00 4978 | 1151.40 4979 | 4980 | 4981 | 10553 4982 | 1997-05-30T00:00:00 4983 | 1546.30 4984 | 4985 | 4986 | 10583 4987 | 1997-06-30T00:00:00 4988 | 2237.50 4989 | 4990 | 4991 | 10636 4992 | 1997-08-19T00:00:00 4993 | 629.50 4994 | 4995 | 4996 | 10750 4997 | 1997-11-21T00:00:00 4998 | 1590.56 4999 | 5000 | 5001 | 10781 5002 | 1997-12-17T00:00:00 5003 | 975.88 5004 | 5005 | 5006 | 11025 5007 | 1998-04-15T00:00:00 5008 | 270.00 5009 | 5010 | 5011 |
5012 | 5013 | WELLI 5014 | Wellington Importadora 5015 |
Rua do Mercado, 12
5016 | Resende 5017 | SP 5018 | 08737-363 5019 | Brazil 5020 | (14) 555-8122 5021 | 5022 | 5023 | 10256 5024 | 1996-07-15T00:00:00 5025 | 517.80 5026 | 5027 | 5028 | 10420 5029 | 1997-01-21T00:00:00 5030 | 1707.84 5031 | 5032 | 5033 | 10585 5034 | 1997-07-01T00:00:00 5035 | 142.50 5036 | 5037 | 5038 | 10644 5039 | 1997-08-25T00:00:00 5040 | 1371.80 5041 | 5042 | 5043 | 10803 5044 | 1997-12-30T00:00:00 5045 | 1193.01 5046 | 5047 | 5048 | 10809 5049 | 1998-01-01T00:00:00 5050 | 140.00 5051 | 5052 | 5053 | 10900 5054 | 1998-02-20T00:00:00 5055 | 33.75 5056 | 5057 | 5058 | 10905 5059 | 1998-02-24T00:00:00 5060 | 342.00 5061 | 5062 | 5063 | 10935 5064 | 1998-03-09T00:00:00 5065 | 619.50 5066 | 5067 | 5068 |
5069 | 5070 | WHITC 5071 | White Clover Markets 5072 |
305 - 14th Ave. S. Suite 3B
5073 | Seattle 5074 | WA 5075 | 98128 5076 | USA 5077 | (206) 555-4112 5078 | (206) 555-4115 5079 | 5080 | 5081 | 10269 5082 | 1996-07-31T00:00:00 5083 | 642.20 5084 | 5085 | 5086 | 10344 5087 | 1996-11-01T00:00:00 5088 | 2296.00 5089 | 5090 | 5091 | 10469 5092 | 1997-03-10T00:00:00 5093 | 956.68 5094 | 5095 | 5096 | 10483 5097 | 1997-03-24T00:00:00 5098 | 668.80 5099 | 5100 | 5101 | 10504 5102 | 1997-04-11T00:00:00 5103 | 1388.50 5104 | 5105 | 5106 | 10596 5107 | 1997-07-11T00:00:00 5108 | 1180.88 5109 | 5110 | 5111 | 10693 5112 | 1997-10-06T00:00:00 5113 | 2071.20 5114 | 5115 | 5116 | 10696 5117 | 1997-10-08T00:00:00 5118 | 996.00 5119 | 5120 | 5121 | 10723 5122 | 1997-10-30T00:00:00 5123 | 468.45 5124 | 5125 | 5126 | 10740 5127 | 1997-11-13T00:00:00 5128 | 1416.00 5129 | 5130 | 5131 | 10861 5132 | 1998-01-30T00:00:00 5133 | 3523.40 5134 | 5135 | 5136 | 10904 5137 | 1998-02-24T00:00:00 5138 | 1924.25 5139 | 5140 | 5141 | 11032 5142 | 1998-04-17T00:00:00 5143 | 8902.50 5144 | 5145 | 5146 | 11066 5147 | 1998-05-01T00:00:00 5148 | 928.75 5149 | 5150 | 5151 |
5152 | 5153 | WILMK 5154 | Wilman Kala 5155 |
Keskuskatu 45
5156 | Helsinki 5157 | 21240 5158 | Finland 5159 | 90-224 8858 5160 | 90-224 8858 5161 | 5162 | 5163 | 10248 5164 | 1996-07-04T00:00:00 5165 | 440.00 5166 | 5167 | 5168 | 10615 5169 | 1997-07-30T00:00:00 5170 | 120.00 5171 | 5172 | 5173 | 10673 5174 | 1997-09-18T00:00:00 5175 | 412.35 5176 | 5177 | 5178 | 10695 5179 | 1997-10-07T00:00:00 5180 | 642.00 5181 | 5182 | 5183 | 10873 5184 | 1998-02-06T00:00:00 5185 | 336.80 5186 | 5187 | 5188 | 10879 5189 | 1998-02-10T00:00:00 5190 | 611.30 5191 | 5192 | 5193 | 10910 5194 | 1998-02-26T00:00:00 5195 | 452.90 5196 | 5197 | 5198 | 11005 5199 | 1998-04-07T00:00:00 5200 | 586.00 5201 | 5202 | 5203 |
5204 | 5205 | WOLZA 5206 | Wolski Zajazd 5207 |
ul. Filtrowa 68
5208 | Warszawa 5209 | 01-012 5210 | Poland 5211 | (26) 642-7012 5212 | (26) 642-7012 5213 | 5214 | 5215 | 10374 5216 | 1996-12-05T00:00:00 5217 | 459.00 5218 | 5219 | 5220 | 10611 5221 | 1997-07-25T00:00:00 5222 | 808.00 5223 | 5224 | 5225 | 10792 5226 | 1997-12-23T00:00:00 5227 | 399.85 5228 | 5229 | 5230 | 10870 5231 | 1998-02-04T00:00:00 5232 | 160.00 5233 | 5234 | 5235 | 10906 5236 | 1998-02-25T00:00:00 5237 | 427.50 5238 | 5239 | 5240 | 10998 5241 | 1998-04-03T00:00:00 5242 | 686.00 5243 | 5244 | 5245 | 11044 5246 | 1998-04-23T00:00:00 5247 | 591.60 5248 | 5249 | 5250 |
5251 |
5252 | -------------------------------------------------------------------------------- /dub.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dlang-linq-examples", 3 | "authors": [ 4 | "Pradeep Gowda" 5 | ], 6 | "description": "101 LINQ examples in D", 7 | "copyright": "Copyright © 2017, Pradeep Gowda", 8 | "license": "Boost" 9 | } -------------------------------------------------------------------------------- /source/app.d: -------------------------------------------------------------------------------- 1 | import core.memory; 2 | import std.stdio; 3 | 4 | import data; 5 | import restriction; 6 | import projection; 7 | import partitioning; 8 | 9 | void main() 10 | { 11 | 12 | writeln("LINQ - Restriction Operators"); 13 | 14 | writeln("\nNumbers < 5:"); 15 | foreach (n; linq1()) 16 | writeln(n); 17 | 18 | writeln("\nSold out products: "); 19 | foreach (p; linq2()) 20 | writefln("%s is sold out!", p.productName); 21 | 22 | writeln("\nIn-stock products that cost more than 3.00:"); 23 | foreach (s; linq3()) 24 | writefln("%s is in stock and costs more than %.2f.", s.productName, s.unitPrice); 25 | 26 | writeln("\nCustomers from Washington and their orders:"); 27 | foreach (c; linq4()) 28 | { 29 | writefln("Customer %s: %s", c.customerID, c.companyName); 30 | foreach (order; c.orders) 31 | { 32 | writefln("Order %s: %s", order.orderID, order.orderDate); 33 | } 34 | } 35 | 36 | writeln("\nShort digits:"); 37 | foreach (d; linq5()) 38 | writefln("The word %s is shorter than it's value", d); 39 | 40 | writeln("\nNumbers + 1:"); 41 | foreach (n; linq6()) 42 | writeln(n); 43 | 44 | writeln("\nProduct Names:"); 45 | foreach (p; linq7()) 46 | writeln(p); 47 | 48 | writeln("\nNumber strings:"); 49 | foreach (ns; linq8()) 50 | writeln(ns); 51 | 52 | writeln("\nAnonymous Types 1"); 53 | foreach (tup; linq9()) 54 | writefln("Uppercase: %s, Lowercase: %s", tup[0], tup[1]); 55 | 56 | writeln("\nAnonymous Types 2"); 57 | foreach (tup; linq10()) 58 | writefln("The digit %s is %s", tup[0], tup[1] ? "even" : "odd"); 59 | 60 | writeln("\nAnonymous Types 3"); 61 | foreach (p; linq11()) 62 | writefln("%s is in the category %s and costs %s per unit.", 63 | p.productName, p.category, p.unitPrice); 64 | 65 | writeln("\nNumber: In-place?"); 66 | foreach (n; linq12()) 67 | writefln("%s: %s", n[0], n[1]); 68 | 69 | writeln("\nNumbers < 5:"); 70 | foreach (n; linq13()) 71 | writeln(n); 72 | 73 | writeln("\nPairs where a < b:"); 74 | foreach (t; linq14()) 75 | writefln("%s is less than %s", t[0], t[1]); 76 | 77 | writeln("\nOrders where order total is less than 500.0"); 78 | foreach (o; linq15()) 79 | writefln("CustomerID=%s OrderID=%d Total=%.2f", o[0], o[1], o[2]); 80 | 81 | writeln("\norders where the order was made in 1998 or later."); 82 | foreach (o; linq16()) 83 | writefln("CustomerID=%s OrderID=%d OrderDate=%s", o[0], o[1], o[2]); 84 | 85 | writeln("\norders where the order total is greater than 2000.00."); 86 | foreach (o; linq17()) 87 | writefln("CustomerID=%s OrderID=%d Total=%.2f", o[0], o[1], o[2]); 88 | 89 | writeln( 90 | "\n discarding orders for customers outside of Washington and orders older than 1997/1/1"); 91 | foreach (o; linq18()) 92 | writefln("CustomerID=%s OrderID=%s", o[0], o[1]); 93 | 94 | writeln("\nSelectMany - Indexed"); 95 | foreach (l; linq19()) 96 | writeln(l); 97 | 98 | /* Partioning Operations */ 99 | 100 | writeln("\nTake to get only the first 3 elements of the array."); 101 | foreach (e; linq20()) 102 | writeln(e); 103 | 104 | writeln("\nFirst three customers from Washington state."); 105 | foreach(c; linq21()) 106 | writeln("") 107 | 108 | } 109 | -------------------------------------------------------------------------------- /source/data.d: -------------------------------------------------------------------------------- 1 | import std.conv; 2 | import std.datetime; 3 | import std.file; 4 | import std.stdio; 5 | import std.string; 6 | import std.xml; 7 | 8 | struct Product 9 | { 10 | int productID; 11 | string productName; 12 | string category; 13 | double unitPrice; 14 | int unitsInStock; 15 | 16 | } 17 | 18 | struct Order 19 | { 20 | int orderID; 21 | DateTime orderDate; 22 | double total; 23 | } 24 | 25 | struct Customer 26 | { 27 | string customerID; 28 | string companyName; 29 | string address; 30 | string city; 31 | string region; 32 | string postalCode; 33 | string country; 34 | string phone; 35 | string fax; 36 | Order[] orders; 37 | } 38 | 39 | Customer[] getCustomerList() 40 | { 41 | string s = cast(string) std.file.read("data/Customers.xml"); 42 | check(s); 43 | Customer[] customers; 44 | auto xml = new DocumentParser(s); 45 | xml.onStartTag["customer"] = (ElementParser xml) { 46 | Customer customer; 47 | xml.onEndTag["id"] = (in Element e) { customer.customerID = e.text(); }; 48 | xml.onEndTag["name"] = (in Element e) { customer.companyName = e.text(); }; 49 | xml.onEndTag["address"] = (in Element e) { customer.address = e.text(); }; 50 | xml.onEndTag["city"] = (in Element e) { customer.city = e.text(); }; 51 | xml.onEndTag["region"] = (in Element e) { customer.region = e.text(); }; 52 | xml.onEndTag["postalcode"] = (in Element e) { 53 | customer.postalCode = e.text(); 54 | }; 55 | xml.onEndTag["country"] = (in Element e) { customer.country = e.text(); }; 56 | xml.onEndTag["phone"] = (in Element e) { customer.phone = e.text(); }; 57 | xml.onEndTag["fax"] = (in Element e) { customer.fax = e.text(); }; 58 | xml.onStartTag["order"] = (ElementParser od) { 59 | Order order; 60 | od.onEndTag["id"] = (in Element e) { 61 | order.orderID = to!(int)(e.text()); 62 | }; 63 | 64 | od.onEndTag["orderdate"] = (in Element e) { 65 | order.orderDate = DateTime.fromISOExtString(e.text()); 66 | }; 67 | od.onEndTag["total"] = (in Element e) { 68 | order.total = to!(double)(e.text()); 69 | }; 70 | od.parse(); 71 | customer.orders ~= order; 72 | }; 73 | xml.parse(); 74 | customers ~= customer; 75 | 76 | }; 77 | xml.parse(); 78 | return customers; 79 | } 80 | 81 | Product[] getProducts() 82 | { 83 | auto products = [Product(1, "Chai", "Beverages", 18, 39)]; 84 | products = products ~ Product(2, "Chang", "Beverages", 19, 17); 85 | products = products ~ Product(3, "Aniseed Syrup", "Condiments", 10, 13); 86 | products = products ~ Product(4, "Chef Anton's Cajun Seasoning", "Condiments", 22, 53); 87 | products = products ~ Product(5, "Chef Anton's Gumbo Mix", "Condiments", 21.3500, 0); 88 | products = products ~ Product(6, "Grandma's Boysenberry Spread", "Condiments", 25, 120); 89 | products = products ~ Product(7, "Uncle Bob's Organic Dried Pears", "Produce", 30, 15); 90 | products = products ~ Product(8, "Northwoods Cranberry Sauce", "Condiments", 40, 6); 91 | products = products ~ Product(9, "Mishi Kobe Niku", "Meat/Poultry", 97, 29); 92 | products = products ~ Product(10, "Ikura", "Seafood", 31, 31); 93 | products = products ~ Product(11, "Queso Cabrales", "Dairy Products", 21, 22); 94 | products = products ~ Product(12, "Queso Manchego La Pastora", "Dairy Products", 38, 86); 95 | products = products ~ Product(13, "Konbu", "Seafood", 6, 24); 96 | products = products ~ Product(14, "Tofu", "Produce", 23.2500, 35); 97 | products = products ~ Product(15, "Genen Shouyu", "Condiments", 15.5000, 39); 98 | products = products ~ Product(16, "Pavlova", "Confections", 17.4500, 29); 99 | products = products ~ Product(17, "Alice Mutton", "Meat/Poultry", 39, 0); 100 | products = products ~ Product(18, "Carnarvon Tigers", "Seafood", 62.5000, 42); 101 | products = products ~ Product(19, "Teatime Chocolate Biscuits", "Confections", 9.2000, 25); 102 | products = products ~ Product(20, "Sir Rodney's Marmalade", "Confections", 81, 40); 103 | products = products ~ Product(21, "Sir Rodney's Scones", "Confections", 10, 3); 104 | products = products ~ Product(22, "Gustaf's Knäckebröd", "Grains/Cereals", 21, 104); 105 | products = products ~ Product(23, "Tunnbröd", "Grains/Cereals", 9, 61); 106 | products = products ~ Product(24, "Guaraná Fantástica", "Beverages", 4.5000, 20); 107 | products = products ~ Product(25, "NuNuCa Nuß-Nougat-Creme", "Confections", 14, 76); 108 | products = products ~ Product(26, "Gumbär Gummibärchen", "Confections", 31.2300, 15); 109 | products = products ~ Product(27, "Schoggi Schokolade", "Confections", 43.9000, 49); 110 | products = products ~ Product(28, "Rössle Sauerkraut", "Produce", 45.6000, 26); 111 | products = products ~ Product(29, "Thüringer Rostbratwurst", "Meat/Poultry", 123.7900, 0); 112 | products = products ~ Product(30, "Nord-Ost Matjeshering", "Seafood", 25.8900, 10); 113 | products = products ~ Product(31, "Gorgonzola Telino", "Dairy Products", 12.5000, 0); 114 | products = products ~ Product(32, "Mascarpone Fabioli", "Dairy Products", 32, 9); 115 | products = products ~ Product(33, "Geitost", "Dairy Products", 2.5000, 112); 116 | products = products ~ Product(34, "Sasquatch Ale", "Beverages", 14, 111); 117 | products = products ~ Product(35, "Steeleye Stout", "Beverages", 18, 20); 118 | products = products ~ Product(36, "Inlagd Sill", "Seafood", 19, 112); 119 | products = products ~ Product(37, "Gravad lax", "Seafood", 26, 11); 120 | products = products ~ Product(38, "Côte de Blaye", "Beverages", 263.5000, 17); 121 | products = products ~ Product(39, "Chartreuse verte", "Beverages", 18, 69); 122 | products = products ~ Product(40, "Boston Crab Meat", "Seafood", 18.4000, 123); 123 | products = products ~ Product(41, "Jack's New England Clam Chowder", "Seafood", 9.6500, 85); 124 | products = products ~ Product(42, "Singaporean Hokkien Fried Mee", "Grains/Cereals", 14, 26); 125 | products = products ~ Product(43, "Ipoh Coffee", "Beverages", 46, 17); 126 | products = products ~ Product(44, "Gula Malacca", "Condiments", 19.4500, 27); 127 | products = products ~ Product(45, "Rogede sild", "Seafood", 9.5000, 5); 128 | products = products ~ Product(46, "Spegesild", "Seafood", 12, 95); 129 | products = products ~ Product(47, "Zaanse koeken", "Confections", 9.5000, 36); 130 | products = products ~ Product(48, "Chocolade", "Confections", 12.7500, 15); 131 | products = products ~ Product(49, "Maxilaku", "Confections", 20, 10); 132 | products = products ~ Product(50, "Valkoinen suklaa", "Confections", 16.2500, 65); 133 | products = products ~ Product(51, "Manjimup Dried Apples", "Produce", 53, 20); 134 | products = products ~ Product(52, "Filo Mix", "Grains/Cereals", 7, 38); 135 | products = products ~ Product(53, "Perth Pasties", "Meat/Poultry", 32.8000, 0); 136 | products = products ~ Product(54, "Tourtière", "Meat/Poultry", 7.4500, 21); 137 | products = products ~ Product(55, "Pâté chinois", "Meat/Poultry", 24, 115); 138 | products = products ~ Product(56, "Gnocchi di nonna Alice", "Grains/Cereals", 38, 21); 139 | products = products ~ Product(57, "Ravioli Angelo", "Grains/Cereals", 19.5000, 36); 140 | products = products ~ Product(58, "Escargots de Bourgogne", "Seafood", 13.2500, 62); 141 | products = products ~ Product(59, "Raclette Courdavault", "Dairy Products", 55, 79); 142 | products = products ~ Product(60, "Camembert Pierrot", "Dairy Products", 34, 19); 143 | products = products ~ Product(61, "Sirop d'érable", "Condiments", 28.5000, 113); 144 | products = products ~ Product(62, "Tarte au sucre", "Confections", 49.3000, 17); 145 | products = products ~ Product(63, "Vegie-spread", "Condiments", 43.9000, 24); 146 | products = products ~ Product(64, "Wimmers gute Semmelknödel", "Grains/Cereals", 33.2500, 22); 147 | products = products ~ Product(65, "Louisiana Fiery Hot Pepper Sauce", 148 | "Condiments", 21.0500, 76); 149 | products = products ~ Product(66, "Louisiana Hot Spiced Okra", "Condiments", 17, 4); 150 | products = products ~ Product(67, "Laughing Lumberjack Lager", "Beverages", 14, 52); 151 | products = products ~ Product(68, "Scottish Longbreads", "Confections", 12.5000, 6); 152 | products = products ~ Product(69, "Gudbrandsdalsost", "Dairy Products", 36, 26); 153 | products = products ~ Product(70, "Outback Lager", "Beverages", 15, 15); 154 | products = products ~ Product(71, "Flotemysost", "Dairy Products", 21.5000, 26); 155 | products = products ~ Product(72, "Mozzarella di Giovanni", "Dairy Products", 34.8000, 14); 156 | products = products ~ Product(73, "Röd Kaviar", "Seafood", 15, 101); 157 | products = products ~ Product(74, "Longlife Tofu", "Produce", 10, 4); 158 | products = products ~ Product(75, "Rhönbräu Klosterbier", "Beverages", 7.7500, 125); 159 | products = products ~ Product(76, "Lakkalikööri", "Beverages", 18, 57); 160 | products = products ~ Product(77, "Original Frankfurter grüne Soße", "Condiments", 13, 32); 161 | return products; 162 | } 163 | -------------------------------------------------------------------------------- /source/partitioning.d: -------------------------------------------------------------------------------- 1 | /* Partitioning Operators */ 2 | 3 | import std.algorithm; 4 | import std.array; 5 | import std.datetime; 6 | import std.format; 7 | import std.range; 8 | import std.typecons; 9 | import std.uni; 10 | import data; 11 | 12 | /** Take - Simple 13 | * This sample uses Take to get only the first 3 elements of the array. 14 | */ 15 | 16 | auto linq20() 17 | { 18 | auto numbers = [5, 4, 1, 3, 9, 8, 6, 7, 2, 0]; 19 | return numbers.take(3); 20 | } 21 | 22 | /** Take - Nested 23 | * This sample uses Take to get the first 3 orders from customers in Washington. 24 | */ 25 | 26 | auto linq21() 27 | { 28 | auto customers = getCustomerList(); 29 | // return customers.filter!(c => c.region == "WA").take(3).map!(c => tuple(c.customerID, ; 30 | } 31 | 32 | unittest 33 | { 34 | assert(equal([5, 4, 1] == linq20())); 35 | } 36 | -------------------------------------------------------------------------------- /source/projection.d: -------------------------------------------------------------------------------- 1 | /** Projection Operators */ 2 | 3 | import std.algorithm; 4 | import std.array; 5 | import std.datetime; 6 | import std.format; 7 | import std.range; 8 | import std.typecons; 9 | import std.uni; 10 | import data; 11 | 12 | /** Select - Simple 1 13 | * This sample uses select to produce a sequence of ints one higher than those in an existing array of ints. 14 | */ 15 | 16 | auto linq6() 17 | { 18 | immutable numbers = [5, 4, 1, 3, 9, 8, 6, 7, 2, 0]; 19 | return map!(a => a + 1)(numbers).array; 20 | } 21 | 22 | /** Select - Simple 2 23 | * This sample uses select to return a sequence of just the names of a list of products. 24 | */ 25 | 26 | auto linq7() 27 | { 28 | 29 | Product[] products = getProducts(); 30 | return map!(a => a.productName)(products).array; 31 | } 32 | 33 | /** Select - Transformation 34 | * This sample uses select to produce a sequence of strings representing the text version of a sequence of ints. 35 | */ 36 | 37 | auto linq8() 38 | { 39 | int[] numbers = [5, 4, 1, 3, 9, 8, 6, 7, 2, 0]; 40 | string[] strings = [ 41 | "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" 42 | ]; 43 | return map!(a => strings[a])(numbers).array; 44 | } 45 | 46 | /** Select - Anonymous Types 1 47 | * This sample uses select to produce a sequence of the uppercase and lowercase versions of each word in the original array. 48 | */ 49 | 50 | auto linq9() 51 | { 52 | string[] words = ["aPPLE", "BlUeBeRrY", "cHeRry"]; 53 | return map!(a => tuple(a.toUpper(), a.toLower()))(words); 54 | } 55 | 56 | /** Select - Anonymous Types 2 57 | * This sample uses select to produce a sequence containing text representations of digits and whether their length is even or odd. 58 | */ 59 | 60 | auto linq10() 61 | { 62 | int[] numbers = [5, 4, 1, 3, 9, 8, 6, 7, 2, 0]; 63 | string[] strings = [ 64 | "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" 65 | ]; 66 | return map!(a => tuple(strings[a], a % 2 == 0))(numbers); 67 | 68 | } 69 | 70 | /** Select - Anonymous Types 3 71 | * This sample uses select to produce a sequence containing some properties of Products, including UnitPrice which is renamed to Price in the resulting type. 72 | */ 73 | 74 | auto linq11() 75 | { 76 | Product[] products = getProducts(); 77 | // this is not exaclty "anonymous type", is it :) 78 | alias ProductInfo = Tuple!(string, "productName", string, "category", double, "unitPrice"); 79 | return map!(a => ProductInfo(a.productName, a.category, a.unitPrice))(products); 80 | } 81 | 82 | /** Select - Indexed 83 | * This sample uses an indexed Select clause to determine if the value of ints in an array match their position in the array. 84 | */ 85 | 86 | auto linq12() 87 | { 88 | int[] numbers = [5, 4, 1, 3, 9, 8, 6, 7, 2, 0]; 89 | return zip(numbers, numbers.enumerate.map!(a => a.value == numbers[a.value])); 90 | 91 | } 92 | 93 | /** Select - Filtered 94 | * This sample combines select and where to make a simple query that returns the text form of each digit less than 5. 95 | */ 96 | 97 | auto linq13() 98 | { 99 | int[] numbers = [5, 4, 1, 3, 9, 8, 6, 7, 2, 0]; 100 | string[] digits = [ 101 | "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" 102 | ]; 103 | return map!(a => digits[a])(filter!(a => a < 5)(numbers)); 104 | } 105 | 106 | /** SelectMany - Compound from 1 107 | * This sample uses a compound from clause to make a query that returns all pairs of numbers from both arrays such 108 | * that the number from numbersA is less than the number from numbersB. 109 | */ 110 | 111 | auto linq14() 112 | { 113 | int[] numbersA = [0, 2, 4, 5, 6, 8, 9]; 114 | int[] numbersB = [1, 3, 5, 7, 8]; 115 | return filter!(a => a[0] < a[1])(zip(numbersA, numbersB)); 116 | } 117 | 118 | /** SelectMany - Compound from 2 119 | * This sample uses a compound from clause to select all orders where the order total is less than 500.00. 120 | */ 121 | 122 | auto linq15() 123 | { 124 | auto customers = getCustomerList(); 125 | return customers.map!(c => c.orders.filter!(it => it.total < 500.0) 126 | .map!(x => tuple(c.customerID, x.orderID, x.total))).joiner(); 127 | } 128 | 129 | /** SelectMany - Compound from 3 130 | * This sample uses a compound from clause to select all orders where the order was made in 1998 or later. 131 | */ 132 | 133 | auto linq16() 134 | { 135 | auto customers = getCustomerList(); 136 | return customers.map!(c => c.orders.filter!(it => it.orderDate > DateTime(1998, 137 | 1, 1)).map!(x => tuple(c.customerID, x.orderID, x.orderDate))).joiner(); 138 | } 139 | 140 | /** SelectMany - from Assignment 141 | * This sample uses a compound from clause to select all orders where the order total is greater than 2000.00 and uses from assignment to avoid requesting the total twice 142 | */ 143 | 144 | auto linq17() 145 | { 146 | auto customers = getCustomerList(); 147 | return customers.map!(c => c.orders.filter!(it => it.total >= 2000.0) 148 | .map!(x => tuple(c.customerID, x.orderID, x.total))).joiner(); 149 | 150 | } 151 | 152 | /** SelectMany - Multiple from 153 | * This sample uses multiple from clauses so that filtering on customers can be done 154 | * before selecting their orders. This makes the query more efficient by not selecting 155 | * and then discarding orders for customers outside of Washington. 156 | */ 157 | 158 | auto linq18() 159 | { 160 | auto customers = getCustomerList(); 161 | auto cutoffDate = DateTime(1997, 1, 1); 162 | return customers.filter!(c => c.region == "WA") 163 | .map!(c => c.orders.filter!(it => it.orderDate >= cutoffDate) 164 | .map!(x => tuple(c.customerID, x.orderID))).joiner(); 165 | } 166 | 167 | /** SelectMany - Indexed 168 | * This sample uses an indexed SelectMany clause to select all orders, 169 | * while referring to customers by the order in which they are returned from the query. 170 | */ 171 | 172 | auto linq19() 173 | { 174 | auto customers = getCustomerList(); 175 | return customers.enumerate.map!(e => tuple(e.value, e.index)).map!(cc => cc[0].orders.map!( 176 | o => format!"Customer #%d has an order with OrderID %d"(cc[1] + 1, o.orderID))).joiner(); 177 | } 178 | 179 | unittest 180 | { 181 | assert(equal(linq6(), [6, 5, 2, 4, 10, 9, 7, 8, 3, 1])); 182 | } 183 | 184 | unittest 185 | { 186 | assert(linq7().length == 77); 187 | } 188 | 189 | unittest 190 | { 191 | assert(equal(linq8(), ["five", "four", "one", "three", "nine", "eight", 192 | "six", "seven", "two", "zero"])); 193 | } 194 | 195 | unittest 196 | { 197 | 198 | } 199 | -------------------------------------------------------------------------------- /source/restriction.d: -------------------------------------------------------------------------------- 1 | import std.algorithm; 2 | import std.array; 3 | import std.stdio; 4 | import std.range; 5 | import data; 6 | 7 | /** $(BIG Restriction Operators) */ 8 | 9 | /** Where - Simple 1 10 | * This sample uses where to find all elements of an array less than 5. 11 | */ 12 | auto linq1() 13 | { 14 | auto numbers = [5, 4, 1, 3, 9, 8, 6, 7, 2, 0]; 15 | return numbers.filter!(a => a < 5); 16 | } 17 | 18 | /**Where - Simple 2 19 | * This sample uses where to find all products that are out of stock. 20 | */ 21 | 22 | auto linq2() 23 | { 24 | auto products = getProducts(); 25 | return products.filter!(a => a.unitsInStock == 0).array; 26 | 27 | } 28 | 29 | /** Where - Simple 3 30 | * This sample uses where to find all products that are in stock and cost more than 3.00 per unit. 31 | */ 32 | 33 | auto linq3() 34 | { 35 | auto products = getProducts(); 36 | return products.filter!(a => a.unitsInStock > 0 && a.unitPrice > 3.0).array; 37 | } 38 | 39 | /** Where - Drilldown 40 | * This sample uses where to find all customers in Washington and then uses the resulting sequence to drill down into their orders. 41 | */ 42 | auto linq4() 43 | { 44 | auto customers = getCustomerList(); 45 | return customers.filter!(c => c.region == "WA"); 46 | } 47 | 48 | /** Where - Indexed 49 | * This sample demonstrates an indexed Where clause that returns digits whose name is shorter than their value. 50 | */ 51 | 52 | auto linq5() 53 | { 54 | string[] digits = [ 55 | "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" 56 | ]; 57 | return digits.enumerate.filter!(e => e.value.length < e.index).map!(e => e.value); 58 | } 59 | 60 | unittest 61 | { 62 | assert(linq1() == [4, 1, 3, 2, 0]); 63 | } 64 | 65 | unittest 66 | { 67 | assert(linq2().length == 5); 68 | } 69 | 70 | unittest 71 | { 72 | assert(linq5().equal(["five", "six", "seven", "eight", "nine"])); 73 | } 74 | --------------------------------------------------------------------------------