尝试拉/扩数据时重叠唯一标识符

时间:2018-01-18 17:41:27

标签: mysql

LoadTableQuery.Qry = @"
SELECT `orders`.`ordID`,
    `orders`.`OrderType`,
    `prt`.`Name`,
    `orders`.`prtID`,
    `orders`.`ReqRef`,
    `orders`.`DateOrdered`,
    `orders`.`orderETA`,
    `orders`.`DateRcvd`,
    `orders`.`Status`,
    `orders`.`ShipCost`,
    `orders`.`Duties`,
    `orders`.`Currency`,
    `orders`.`Conv`,
    `orders`.`Terms`,
    `orders`.`Shipping`,
    `orders`.`BuyerID`,
    `orders`.`ShipTo`,
    `orders`.`Notes2`,
    `orders`.`Notes3`,
    `orders`.`legacyID`,
    `prt`.`Address`,
    `prt`.`City`,
    `prt`.`StateProv`,
    `prt`.`PostalZip`,
    `prt`.`Tel`,
    `prt`.`Contact`,
    `prt`.`Email`,
    `prt`.`OrderTaxPc`
FROM `n2000`.`orders` left join `n2000`.`prt`
on (orders.prtID = prt.prtID)

prtID是一个唯一的标识符,我用来提取我需要的关于聚会的数据(他们的名字,地址,城市......)。上面写的方式有效,完成了我需要它做的事情。获取数据并将其插入到我的表中。

问题是,我需要一组基于ordersShipTo而不是ordersprtID的第二方参与方数据。 ShipTo实际上只是一个不同的prtID。

我希望能够再次使用

运行它
on (orders.ShipTo = prt.prtID).

我尝试过使用UNION,但这会创建一个新行,而不是向当前行添加列。这是我想要从中获取数据的地方。

理解它的最好方法是,我扩展了prtID以添加Name,Address,City ..列数据。我也想扩展ShipTo。我不知道如何做到这一点虽然没有简单地覆盖prtID扩展。

解决方案实际上非常简单。希望这有助于其他人

Solution

1 个答案:

答案 0 :(得分:0)

解决方案实际上非常简单。别名不同的表并进行双左连接

Solution