简体   繁体   English

MySQL左外部联接和{?}

[英]MySQL Left Outer Join and {?}

I have been tasked with converting some Crystal SQL queries into QlikView and am having trouble deciphering the SQL code as it has been a decade since I last played with this. 我的任务是将一些Crystal SQL查询转换为QlikView,并且在解密SQL代码时遇到了麻烦,因为我上次玩这个游戏已经有十年了。 I'm modelling the data in MySQL workbench prior to importing it into QlikView. 在将数据导入QlikView之前,我正在MySQL工作台中对数据进行建模。

I have posted the code bellow for the sake of completeness although I realize a lot of it is surplus. 为了完整起见,我已经发布了下面的代码,尽管我意识到很多都是多余的。

The issue I am having is I don't know and cant seem to work out how do duplicate these queries in MySQL workbench as I don't understand what these code segments are doing: ={?APS: ITEM1.ST_Prodcode} and ={?FKE: ITEM1_1.ST_Prodcode} etc. 我遇到的问题是我不知道并且似乎={?APS: ITEM1.ST_Prodcode}如何在MySQL工作台中重复这些查询,因为我不了解这些代码段在做什么: ={?APS: ITEM1.ST_Prodcode}={?FKE: ITEM1_1.ST_Prodcode}等。

The above mentioned code appears to me to be calling the next query. 在我看来,上面提到的代码正在调用下一个查询。 Am I right in thinking this? 我是这样想的吗?

Pricing 价钱

SELECT 
`stock_management1`.`st_prodcode`, 
`stock_management1`.`st_sdesc`, 
`stock_management1`.`st_mstockist`, 
`stock_management1`.`APS_rol`, 
`stock_management1`.`APS_eoq`, 
`stock_management1`.`APS_ms`
FROM   
`pricing`.`stock_management` 
`stock_management1`
WHERE  
(`stock_management1`.`st_mstockist`='BRA' 
OR 
`stock_management1`.`st_mstockist`='FCS' 
OR 
`stock_management1`.`st_mstockist`='FKE') 
AND 
`stock_management1`.`APS_ms`>0 
AND 
(`stock_management1`.`st_prodcode`>='A' 
AND 
`stock_management1`.`st_prodcode`<='WZZZZZ999')
EXTERNAL JOIN
stock_management1.st_prodcode={?APS: ITEM1.ST_Prodcode} 
AND 
stock_management1.st_prodcode={?FCS: stocktake1.S_ProdCode} 
AND 
stock_management1.st_prodcode={?CENTRAL: Command.mv_PRODCODE}

APS APS

SELECT `ITEM1`.`ST_SOH`, `ITEM1`.`ST_Prodcode`
FROM   `aps`.`ITEM` `ITEM1`
WHERE  `ITEM1`.`ST_Prodcode`={?pricing: stock_management1.st_prodcode}
EXTERNAL JOIN ITEM1.ST_Prodcode={?FKE: ITEM1_1.ST_Prodcode}

FKE FKE

SELECT `ITEM1_1`.`ST_SOH`, `ITEM1_1`.`ST_Prodcode`
FROM   `iewkelvin`.`ITEM` `ITEM1_1`
WHERE  `ITEM1_1`.`ST_Prodcode`={?APS: ITEM1.ST_Prodcode}
EXTERNAL JOIN ITEM1_1.ST_Prodcode={?FCS: ITEM1_2.ST_Prodcode}

Thanks for comments imran & ralfbecher. 感谢imran&ralfbecher的评论。

I found that the {? 我发现{? implies WHERE followed by the Database: table.field 表示WHERE后跟数据库: table.field

Simple as that really. 就这么简单。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM