2012-03-12 4 views
1

У меня есть два списка Тендерные и Тендерные предметы. Список тендеров содержит столбец «Название конкурса», «Описание конкурса». Второй список Тендерные позиции содержат столбцы «Имя элемента», «Цена товара» и столбец «Тендерное имя» из Конкурса 1-го списка.LEFT JOIN из двух таблиц

Возможно, что в тендере есть какие-либо предметы или нет. Поэтому я хочу получить левое соединение этих двух списков, чтобы я мог получить каждый Тендер с элементами, если они есть. Ниже приведен список двух списков, которые я хочу достичь.

Первый лист Конкурс (тендер) содержит 3 заявки. и второй список. Тендерные позиции содержат 2 элемента. Ниже левое объединение двух списков, где «нежная 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 

Как я могу добиться этого результата выше?

+0

Вы хотите, чтобы каждый тендер был указан несколько раз, если связано несколько элементов? –

ответ

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

Вам было бы лучше определить интегральный ключ для тендеров, а затем использовать это значение в качестве внешнего ключа в TenderItems. Если вы измените имя тендера, связь между тендером и его пунктами будет потеряна.