SQL Выберите несколько строк в одну отображаемую строку

У меня есть две таблицы. Я хочу объединить их вместе, чтобы дубликаты записей отображались в одной строке. Структуры фиктивных таблиц приведены ниже

MainTbl Кол-во столбцов: MKey1, MKey2, MData1, MData2, MData3

SuppTbl Cols: SPrimaryKey,SKey1,SKey2,SData1,SData2

Я хочу ЛЕВОЕ ПРИСОЕДИНЕНИЕ MainTbl к SuppTbl. Однако SuppTbl содержит дубликаты комбо-ключей SKey1 и SKey2.

Результаты, которые мне нужны, приведены ниже, где "-#" указывает номер дублирования.

MKey1,MKey2,MData1,MData2,MData3,SData1-1,SData2-1,SData1-2,SData2-2

В сущности, все поля из объединения должны содержаться в одной строке на основе одного Key1 и Key2 .

ПОПЫТКА ОТВЕТА ШОНА В.

SELECT
    MainTbl.MKey1,
     MainTbl.MKey2,
    tcd.SData1 AS SData11,  
    tcd.SData2 AS SData22,
    tcr.SData1 AS SData12,  
    tcr.SData2 AS SData22
FROM MainTbl
LEFT JOIN SuppTbl tcd
ON MainTbl.MKey1=tcd.SKey1 AND MainTbl.MKey2=tcd.SKey2
LEFT JOIN SuppTbl tcr
ON MainTbl.MKey1=tcr.SKey1 AND MainTbl.MKey2=tcr.SKey2
WHERE tcd.SData1 < tcr.SData1

РЕЗУЛЬТАТНе удалось. Никаких записей не тянул.

0
задан steventnorris 26 June 2012 в 18:52
поделиться