40 const std::string & iWhat,
41 const std::string & iWhere,
42 const std::string & iConditions)
44 std::stringstream querystream;
46 querystream <<
"SELECT ";
48 querystream <<
" FROM ";
49 querystream << iWhere;
50 querystream <<
" WHERE ";
51 querystream << iConditions;
52 return querystream.str();
59 const std::string & iWhat,
60 const std::string & iWhere,
61 std::string iOrderByQuery)
63 std::stringstream querystream;
65 querystream <<
"SELECT ";
67 querystream <<
" FROM ";
68 querystream << iWhere;
69 if ( !iOrderByQuery.empty() )
71 querystream << iOrderByQuery;
73 return querystream.str();
80 const std::string & iTable,
81 const std::string & iColumn,
82 std::string iOrderByColumnName,
87 if ( !iOrderByColumnName.empty() )
89 OrderBy =
AddOrderBy(iOrderByColumnName, iAscDesc);
98 const std::string & iTable,
99 const std::vector< std::string > & iListAttributes,
100 std::string iOrderByColumnName,
101 std::string iAscDesc)
112 const std::string & iTable,
113 const std::string & iColumn,
114 const std::string & iConditions,
116 std::string iOrderByColumnName,
117 std::string iAscDesc)
119 std::string What = iColumn;
120 std::string Condition = iConditions;
126 if ( !iOrderByColumnName.empty() )
128 Condition +=
AddOrderBy(iOrderByColumnName, iAscDesc);
137 const std::string & iTable,
138 const std::string & iColumn,
139 const std::string & iField,
140 const std::string & iValue,
141 std::string iOrderByColumnName,
142 std::string iAscDesc,
145 std::stringstream Conditions;
147 Conditions << iField;
148 Conditions <<
" = '";
149 Conditions << iValue;
158 const std::string & iTable,
159 const std::vector< std::string > & iListAttributes,
160 const std::string & iField,
161 const std::string & iValue,
162 std::string iOrderByColumnName,
163 std::string iAscDesc)
174 const std::string & iTable,
175 const std::string & iColumn,
176 const std::string & iField,
177 const std::vector< std::string > & iListValues,
179 std::string iConditionConnector)
181 std::string Conditions =
GetConditions(iField, iListValues, iConditionConnector);
190 const std::string & iTable,
191 const std::vector< std::string > & iListAttributes,
192 const std::string & iField,
193 const std::vector< std::string > & iListValues,
194 std::string iConditionConnector,
200 Distinct, iConditionConnector);
207 const std::string & iTable,
208 const std::string & iColumn,
209 const std::vector< FieldWithValue > & iConditions,
210 std::string iConditionConnector,
213 std::string What = iColumn;
219 std::string Conditions =
GetConditions(iConditions, iConditionConnector);
227 const std::string & iTable,
228 const std::vector< std::string > & iListAttributes,
229 const std::vector< FieldWithValue > & iConditions,
230 std::string iConditionConnector,
232 std::string iOrderByColumnName)
237 if (!iOrderByColumnName.empty())
239 oQueryString +=
AddOrderBy(iOrderByColumnName);
250 std::string oWhat =
"DISTINCT ";
259 std::string
AddOrderBy(
const std::string & iAttribute, std::string iAscDesc)
261 std::string oOrderBy =
" ORDER BY ";
263 oOrderBy += iAttribute;
265 oOrderBy += iAscDesc;
274 const std::vector< FieldWithValue > & iConditions,
275 std::string iConditionConnector)
277 std::stringstream oConditions;
282 for ( i = 0; i < iConditions.size() - 1; i++ )
285 oConditions << iConditions[i].Field;
286 oConditions << iConditions[i].Operator;
288 oConditions << iConditions[i].Value;
290 oConditions << iConditionConnector;
293 oConditions << iConditions[i].Field;
294 oConditions << iConditions[i].Operator;
296 oConditions << iConditions[i].Value;
298 return oConditions.str();
305 const std::string & iField,
306 const std::string & iValue,
307 std::string iConnector)
309 std::vector< FieldWithValue > Condition(1);
311 Condition[0] = Field;
320 std::stringstream oQueryStream;
323 for ( i = 0; i < iListAttributes.size() - 1; i++ )
325 oQueryStream << iListAttributes[i];
326 oQueryStream <<
", ";
328 oQueryStream << iListAttributes[i];
329 return oQueryStream.str();
336 const std::list< unsigned int > & iList)
338 std::list< unsigned int >::const_iterator iter = iList.begin();
339 std::vector< std::string > oVector;
340 while ( iter != iList.end() )
342 unsigned int temp = *iter;
343 oVector.push_back( ConvertToString< unsigned int >(temp) );
353 const std::vector< std::string > & iVector)
355 std::vector< std::string >::const_iterator iter = iVector.begin();
356 std::list< unsigned int > oList;
357 while ( iter != iVector.end() )
359 oList.push_back( ss_atoi< unsigned int >( *iter ) );
369 const std::vector< unsigned int > & iVector)
371 std::vector< unsigned int >::const_iterator iter = iVector.begin();
372 std::vector< std::string > oVector;
373 while ( iter != iVector.end() )
375 oVector.push_back( ConvertToString< unsigned int >( *iter ) );
385 const std::string & iTableOne,
386 const std::string & iTableTwo,
390 std::stringstream oQueryStream;
392 oQueryStream << iTableOne;
395 oQueryStream <<
" JOIN ";
399 oQueryStream <<
" LEFT JOIN ";
401 oQueryStream << iTableTwo;
402 oQueryStream <<
" ON ";
403 oQueryStream << iTableOne;
405 oQueryStream << iOnCondition.
Field;
406 oQueryStream << iOnCondition.
Operator;
407 oQueryStream << iTableTwo;
409 oQueryStream << iOnCondition.
Value;
411 return oQueryStream.str();
418 const std::string & iTable,
419 const std::string & iTableTwo,
420 const std::string & iTableThree,
424 std::stringstream oQueryStream;
430 oQueryStream << LeftJoinTwo.substr( iTable.size() + 1, LeftJoinTwo.size() );
431 return oQueryStream.str();
437 std::string
GetGroupBy(
const std::string & iColumn,
unsigned int iNumberDoublons)
439 std::stringstream oQueryStream;
441 oQueryStream <<
" group by ";
442 oQueryStream << iColumn;
443 if ( iNumberDoublons != 0 )
445 oQueryStream <<
" HAVING COUNT(";
446 oQueryStream << iColumn;
447 oQueryStream <<
") > ";
448 oQueryStream << iNumberDoublons;
450 return oQueryStream.str();
457 const std::vector< std::string > & iSelectedAttributes,
458 const std::string & iTableOne,
459 const std::string & iTableTwo,
460 const std::string & iTableThree,
463 const std::string & iFieldOne,
464 unsigned int iValueFieldOne,
465 const std::string & iIDFieldName,
466 const std::list< unsigned int > & iListIDs)
468 std::vector< unsigned int > VectIDs( iListIDs.begin(), iListIDs.end() );
475 ConvertToString< unsigned int >(iValueFieldOne),
478 std::string Conditions = GetAndORConditions< unsigned int >(FirstPartCondition,
std::string SelectGeneralQueryConditions(const std::string &iWhat, const std::string &iWhere, const std::string &iConditions)
SELECT iWhat FROM iWhere WHERE iConditions.
std::string SelectGeneralQuery(const std::string &iWhat, const std::string &iWhere, std::string iOrderByQuery)
SELECT iWhat FROM iWhere iOrderByQuery.
std::string AddOrderBy(const std::string &iAttribute, std::string iAscDesc)
ORDER BY iAttributes iAscDesc.
std::string GetGroupBy(const std::string &iColumn, unsigned int iNumberDoublons)
std::string GetSelectedAttributes(const std::vector< std::string > &iListAttributes)
iListAttributes[i], iListAttributes[i+1]...
std::string SelectQueryStream(const std::string &iTable, const std::string &iColumn, std::string iOrderByColumnName, std::string iAscDesc)
SELECT iColumn FROM iTable ORDER BY iOrderByColumnName iAscDesc;.
std::list< unsigned int > VectorStringToUnsgInt(const std::vector< std::string > &iVector)
std::string SelectQueryStreamCondition(const std::string &iTable, const std::string &iColumn, const std::string &iConditions, bool Distinct, std::string iOrderByColumnName, std::string iAscDesc)
SELECT (Distinct) iColumn FROM iTable WHERE iConditions (ORDER BY irderByColumnName iAscDesc);...
std::string AddDistinctToWhat(const std::string &iWhat)
DISTINCT iWhat.
std::string GetLeftJoinTwoTables(const std::string &iTableOne, const std::string &iTableTwo, const FieldWithValue &iOnCondition, bool NonNULLRows)
iTableOne LEFT JOIN iTableTwo ON iTableOne.iOnCondition/Field = iTableTwo.iOnCondition/Value ...
std::string SelectQueryStreamListConditions(const std::string &iTable, const std::string &iColumn, const std::string &iField, const std::vector< std::string > &iListValues, bool Distinct, std::string iConditionConnector)
SELECT (Distinct) iColumn FROM iTable WHERE iField = iValue Or/And...
std::string SelectForTracesInfo(const std::vector< std::string > &iSelectedAttributes, const std::string &iTableOne, const std::string &iTableTwo, const std::string &iTableThree, const FieldWithValue &iJoinConditionOne, const FieldWithValue &iJoinConditionTwo, const std::string &iFieldOne, unsigned int iValueFieldOne, const std::string &iIDFieldName, const std::list< unsigned int > &iListIDs)
SELECT iSelectedAttributes[0], iSelectedAttributes[1]...FROM (iTableOne left join iTableTwo on iJoinC...
std::string GetConditions(const std::vector< FieldWithValue > &iConditions, std::string iConditionConnector)
std::string GetLeftJoinThreeTables(const std::string &iTable, const std::string &iTableTwo, const std::string &iTableThree, const FieldWithValue &iOnConditionOne, const FieldWithValue &iOnConditionTwo)
(iTable LEFT JOIN iTableTwo ON iTable.iOnCondition/Field = iTableTwo.iOnCondition/Value) LEFT JOIN iT...
std::vector< std::string > VectorUnsgIntToVectorString(const std::vector< unsigned int > &iVector)
std::vector< std::string > ListUnsgIntToVectorString(const std::list< unsigned int > &iList)