Во-первых, вы должны использовать ключевое слово ISO Join, когда объединяете две таблицы вместо разделения таблиц через запятую, а затем «соединяете» их в предложении Where. Таким образом, наш запрос будет:
Select LF.name, EDI.Date
From EdiPackage As EDI
Join LabelFeed As LF
On LF.Code = EDI.Code
Where EDI.orderID = @OrderID
And LF.labelID = 'EDIStage'
Во-вторых, ваш исходный пример - установка результатов запроса в переменную. Это не будет работать с несколькими столбцами или строками. В лучшем случае SQL может просто занять первый столбец в вашем подзапросе. И, наконец, то, что вы ищете, является чем-то вроде кросс-таблицы. Нам нужно было бы просмотреть данные, но вы можете достичь того, чего хотите, сделав что-то вроде этого:
Select Min( Case When LF.Name = 'Value1' Then LF.Name End ) As Col1
, Min( Case When LF.Name = 'Value1' Then EDI.Date End ) As Col2
, Min( Case When LF.Name = 'Value2' Then LF.Name End ) As Col3
, Min( Case When LF.Name = 'Value2' Then EDI.Date End ) As Col4
, Min( Case When LF.Name = 'Value3' Then LF.Name End ) As Col5
, Min( Case When LF.Name = 'Value3' Then EDI.Date End ) As Col6
From EdiPackage As EDI
Join LabelFeed As LF
On LF.Code = EDI.Code
Where EDI.orderID = @OrderID
And LF.labelID = 'EDIStage'
В этом случае вы должны заменить «Значение1», «Значение2» и «Значение3» значениями данных, которые следует использовать для различения одного столбца от другого.