comparison Resources/Orthanc/Databases/ISqlLookupFormatter.cpp @ 416:6b16914b6655

fix
author Alain Mazy <am@osimis.io>
date Thu, 22 Jun 2023 21:15:50 +0200
parents 7e123f047771
children c1b0f3c4e1f5
comparison
equal deleted inserted replaced
415:7e123f047771 416:6b16914b6655
656 "WHERE resourceType = " + formatter.FormatResourceType(queryLevel) 656 "WHERE resourceType = " + formatter.FormatResourceType(queryLevel)
657 + " "); 657 + " ");
658 658
659 if (dicomIdentifiersComparisons.size() > 0) 659 if (dicomIdentifiersComparisons.size() > 0)
660 { 660 {
661 for (std::vector<std::string>::const_iterator it = dicomIdentifiersComparisons.begin(); it < dicomIdentifiersComparisons.end(); ++it)
662 {
663 sql += (" AND internalId IN (SELECT id FROM DicomIdentifiers WHERE " + *it + ") ");
664 }
665 }
666
667 if (mainDicomTagsComparisons.size() > 0)
668 {
661 std::string comparisons; 669 std::string comparisons;
662 Toolbox::JoinStrings(comparisons, dicomIdentifiersComparisons, " AND "); 670 for (std::vector<std::string>::const_iterator it = mainDicomTagsComparisons.begin(); it < mainDicomTagsComparisons.end(); ++it)
663 sql += (" AND internalId IN (SELECT id FROM DicomIdentifiers WHERE " 671 {
664 + comparisons + ") "); 672 sql += (" AND internalId IN (SELECT id FROM MainDicomTags WHERE " + *it + ") ");
665 } 673 }
666
667 if (mainDicomTagsComparisons.size() > 0)
668 {
669 std::string comparisons;
670 Toolbox::JoinStrings(comparisons, mainDicomTagsComparisons, " AND ");
671 sql += (" AND internalId IN (SELECT id FROM MainDicomTags WHERE "
672 + comparisons + ") ");
673 } 674 }
674 675
675 if (!labels.empty()) 676 if (!labels.empty())
676 { 677 {
677 /** 678 /**