Mercurial > hg > orthanc-databases
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 /** |