Написать пользовательский запрос в Crystal Report от visual studio c# - PullRequest
1 голос
/ 01 февраля 2020

Я новичок с отчетом Crystal для c# Я хочу создать отчет Crystal, который принимает значения из таблиц 3 MySQL, но я хочу написать свой пользовательский запрос, потому что когда я выбираю таблицы в Visual Studio, он показывает запрос, который не соответствует тому, что я ожидал. Я проверил запрос на localhost phpMyAdmin, и он работал.

примечание 1: я использую Visual Studio 2019 и установил Crystal report SP26 note 2: когда Visual Studio написал запрос, он добавил «1» к имени таблицы, как boq_table, сделав его boq_table1.

код ниже представляет, какой запрос я хочу выполнить:

SELECT
    ubc.boq_table.itemNum,
    ubc.boq_table.descriptionOfWork,
    ubc.boq_table.unit,
    ubc.boq_table.contractualQuantity,
    ubc.boq_table.priceNum,
    ubc.summary.executedQuantLastSummary,
    ubc.summary.priceLastWorks,
    ubc.summary.executedQuantBetw2Sum,
    ubc.submittal.priceCurrentWorks
FROM
    ubc.boq_table
LEFT OUTER JOIN ubc.summary ON
    ubc.boq_table.itemNum = ubc.summary.itemNum
LEFT OUTER JOIN ubc.submittal ON
    ubc.boq_table.itemNum = ubc.submittal.itemNum
WHERE
    ubc.boq_table.projectName ='proj'
UNION
SELECT
    ubc.boq_table.itemNum,
    ubc.boq_table.descriptionOfWork, 
    ubc.boq_table.unit, 
    ubc.boq_table.contractualQuantity, 
    ubc.boq_table.priceNum, 
    ubc.summary.executedQuantLastSummary, 
    ubc.summary.priceLastWorks, 
    ubc.summary.executedQuantBetw2Sum, 
    ubc.submittal.priceCurrentWorks 
FROM
    ubc.summary
LEFT OUTER JOIN ubc.boq_table ON 
    ubc.summary.itemNum = ubc.boq_table.itemNum 
LEFT OUTER JOIN ubc.submittal ON 
    ubc.summary.itemNum = ubc.submittal.itemNum 
WHERE 
    ubc.summary.projectName = 'proj'  
UNION
SELECT
    ubc.boq_table.itemNum,
    ubc.boq_table.descriptionOfWork,
    ubc.boq_table.unit,
    ubc.boq_table.contractualQuantity,
    ubc.boq_table.priceNum,
    ubc.summary.executedQuantLastSummary, 
    ubc.summary.priceLastWorks, 
    ubc.summary.executedQuantBetw2Sum, 
    ubc.submittal.priceCurrentWorks 
FROM
    ubc.submittal 
LEFT OUTER JOIN ubc.boq_table ON 
    ubc.submittal.itemNum = ubc.boq_table.itemNum 
LEFT OUTER JOIN ubc.summary ON 
    ubc.submittal.itemNum = ubc.summary.itemNum 
WHERE 
    ubc.submittal.projectName = 'proj' 
ORDER BY 
    itemNum;

, и этот код был написан Visual Studio после того, как я выбрал таблицы

 SELECT boq_table1.itemNum, boq_table1.descriptionOfWork, boq_table1.unit, boq_table1.contractualQuantity, boq_table1.priceNum, submittal1.priceCurrentWorks, summary1.executedQuantLastSummary, summary1.executedQuantBetw2Sum, summary1.priceLastWorks
 FROM   (ubc.boq_table boq_table1 INNER JOIN ubc.submittal submittal1 ON boq_table1.ID=submittal1.ID) INNER JOIN ubc.summary summary1 ON boq_table1.ID=summary1.ID
 ORDER BY boq_table1.itemNum

последний код только для чтения, который я могу ' t edit

1 Ответ

0 голосов
/ 01 февраля 2020

Вы можете сделать 2 вещи, если хотите получить данные для воспроизведения кристаллов, вы снова смотрите в селекторе базы данных, есть опция для добавления команды или использование соединителя и устройства чтения данных для создания набора данных, который вы можете использовать.

Во-первых, все в порядке, если вам не нужно много вычислять данные.

...