Crystal Reports-Соединение таблиц, если существует - PullRequest
0 голосов
/ 28 октября 2019

У меня есть проблема, у меня есть 4 таблицы, к которым мне нужно присоединиться, я уже выполнил объединение для 3 из них (давайте назовем их table1, table2, table3), соединяйте до тех пор, пока эта точка не будет работать нормально, проблема приходит споследняя таблица, здесь мне нужно спросить, существует ли запись в таблице № 4 (которая представляет собой комбинацию между внешним ключом, который используется для объединения трех других таблиц, плюс одно дополнительное значение столбца, которое записано не для всех записей),затем, если запись существует в таблице 4, мне нужно отобразить ее содержимое «один конкретный столбец из таблицы 4», в противном случае просто отобразить ее пустым. Кто-то делал это раньше?

Это запрос с первым соединением трех таблиц.

SELECT
TABLE1.NUMPROD as BATCH_ID,
TABLE2.EQPCODE as Tank,
TABLE1.CODEPROD as Product_Code,
TABLE1.XFIELD_03 as Sequence,
TABLE3.ITEM_CONSUMED as ITEM,
TABLE3.CONSUMPTION_QUANTITY as QUANTITY

FROM 
TABLE1 
INNER JOIN TABLE3 on TABLE1.NUMPROD = TABLE3.ORDERID
INNER JOIN TABLE2 ON TABLE3.ORDERID = TABLE2.NUMBERLOT

AND TABLE1.ETAT = 'F' 
AND TABLE1.DATECREATION BETWEEN ('20191001') AND ('20191004') 
AND TABLE1.XFIELD_03 IS NOT NULL
AND TABLE3.CONSUMPTION_QUANTITY > 0 
and TABLE2.VALUE = 'ASSIGNED'

1 Ответ

0 голосов
/ 28 октября 2019

Примерно так:

SELECT
TABLE1.NUMPROD as BATCH_ID,
...
TABLE3.CONSUMPTION_QUANTITY as QUANTITY,
--                                           --> from this line ...
(select some_column 
 from table4 t4
 where t4.some_id = table1.some_other_Id
) table_4_column                      
--                                           --> ... to this line
FROM 
TABLE1 JOIN ...

Запрос, извлекающий данные из table4 , должен возвращать не более одного значения;в противном случае вы получите too-many-rows ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...