简体   繁体   English

LEFT JOIN两个表

[英]LEFT JOIN of two tables

I have two lists Tender and Tender Items. 我有两个名单Tender和Tender Items。 Tender list contains column 'Tender Name', 'Tender Description'. 投标清单包含“投标名称”列,“投标说明”。 Second list Tender Items contains columns 'Item Name', 'Item Price' and a lookup column 'Tender Name' from 1st list Tender. 第二个列表投标项目包含第一个列表投标中的列“项目名称”,“项目价格”和查询列“投标名称”。

There may be that A Tender contains any items or not. A Tender可能包含任何项目。 So I want to get the left join of these two lists so that I can get each Tender with items if any. 所以我想得到这两个列表的左连接,以便我可以获得每个投标项目(如果有的话)。 Below is the join of two lists that I want to achieve. 下面是我想要实现的两个列表的连接。

First list Tender contains 3 tenders. 第一份名单招标包含3份招标。 and second list Tender items contain 2 items. 和第二个列表招标项目包含2个项目。 Below is the left join of the two lists where "tender 3" has no item: 下面是两个列表的左连接,其中“招标3”没有项目:

  Tender Name, Tender Description, Item Name, Item Price.

  tender 1,tender desc1, item1, 500

  tender 2, tender desc2,item2, 400

  tender 3,tender desc3,NULL,NULL

How can I achieve this above result? 我怎样才能达到上述结果?

SELECT T.TENDERNAME, T.TENDERDESC, TI.ITEMNAME, TI.ITEMPRICE
FROM TENDERS T LEFT JOIN TENDERITEMS TI
ON T.TENDERNAME = TI.TENDERNAME

You would be better off defining an integral key for Tenders and then using that value as a foreign key in TenderItems. 您最好为Tenders定义一个整数键,然后将该值用作TenderItems中的外键。 If you change the tender name, the link between the tender and its items would be lost. 如果您更改投标名称,投标与其项目之间的联系将会丢失。

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

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