В этом запросе я хочу получить данные из 3 таблиц в базе данных MySQL, чтобы отобразить их в виде сетки данных в форме Win c# Моя проблема заключается в том, что я хочу использовать подзапрос в запросе на соединение И этот подзапрос содержит ГДЕ условие, противоположное условию в основном запросе.
следующий код является подзапросом:
" (SELECT SUM(submittal.priceCurrentWorks) FROM "+database+ "submittal WHERE submittal.addToSummary = 'false') AS 'سعر الحالية'," +
" (SELECT SUM(submittal.requiredQuantity) FROM " + database + "submittal WHERE submittal.addToSummary = 'false') AS 'الأعمال الحالية',"
Следующий код является полным запросом (под и основной) :
String LeftOuterQuery = "SELECT DISTINCT boq_table.itemNum AS 'رقم البند', boq_table.descriptionOfWork AS 'وصف البند', boq_table.unit AS 'الوحدة', boq_table.contractualQuantity AS 'كمية العقد', boq_table.priceNum AS 'فئة العقد'," +
" IFNULL(SUM(summary.priceLastWorks), 0) AS 'سعر السابقة' ," +
" IFNULL(SUM(summary.executedQuantLastSummary), 0) AS 'الأعمال السابقة'," +
" (SELECT SUM(submittal.priceCurrentWorks) FROM "+database+ "submittal WHERE submittal.addToSummary = 'false') AS 'سعر الحالية'," +
" (SELECT SUM(submittal.requiredQuantity) FROM " + database + "submittal WHERE submittal.addToSummary = 'false') AS 'الأعمال الحالية'," +
" IFNULL(summary.percentage,0) AS 'النسبة'," +
" IFNULL(SUM(submittal.requiredQuantity),0) +" +
" IFNULL(SUM(summary.executedQuantLastSummary), 0) AS 'إجمالي الأعمال'," +
" IFNULL(SUM(summary.priceLastWorks), 0) +" +
" IFNULL(SUM(submittal.priceCurrentWorks), 0) AS 'إجمالي السعر'" +
" FROM " + database + "boq_table" +
" LEFT OUTER JOIN " + database + "summary ON " + database + "boq_table.itemNum = " + database + "summary.itemNum" +
" LEFT OUTER JOIN " + database + "submittal ON " + database + "boq_table.itemNum = " + database + "submittal.itemNum" +
" WHERE summary.summaryNumber = '"+lastSummaryNumber+ "' AND submittal.addToSummary = 'true'" +
" GROUP BY boq_table.itemNum"+
" ORDER BY boq_table.itemNum ";
Полный запрос возвращает результат, который просто достигает условия Where в полном / основном запросе, который он
" WHERE summary.summaryNumber = '"+lastSummaryNumber+ "' AND submittal.addToSummary = 'true'"
, и игнорирует условие Where в подзапросах.
Мне нужно отобразить данные, которые достигли addToSummary = 'false'
в подзапросе И достичь addToSummary = 'true'
в полном / основном запросе одновременно.