SQL Server Query - PullRequest
       9

SQL Server Query

1 голос
/ 18 сентября 2009

У меня есть следующие таблицы:

Название таблицы: LandParces

Blockid,  PNo, Name,             Address
=========================================
32000101  5    Chandana De Silva Colombo
32000101  8    Fernance          Badulla
32000203  4    Sunil Fernando    Tangalle

Имя таблицы = Владелец

Blockid,  PNo,  StorP   Hec
===============================
32000101  5     St      0.5020   
32000101  8     Pr      2.1045
32000203  4     Pr      0.1824

Название таблицы = Обременения

Blockid,      PNo,  Encumbrance
===============================
32000101     5      Life
32000101     5      Mortgage
32000101     5      access
32000101     8      Life
32000101     8      access
32000203     4      access road

Теперь я хочу получить результат следующим образом

Blockid, PNo, Name,          Address, Encumbrance           StorP   Hec           
==========================================================================
32000101 5    Chandana...    Colombo  Life,Mortgage,access  St      0.5020
32000101 8    Fernance       Badulla  Life,access           Pr      2.1045
32000203 4    Sunil Fernando Tangalle accessroad            Pr      0.1824

Pl скажите мне код сервера T sql для этого запроса. Пожалуйста, помогите мне

Ответы [ 3 ]

1 голос
/ 18 сентября 2009

Надеюсь, это поможет вам:)

select  LandParces.Blockid,LandParces.PNo,LandParces.Name,LandParces.Address,Encumbrances.Encumbrance
    ,Owner.StorP,Owner.Hec
    from  LandParces 
    inner join Encumbrances 
    inner join Owner
on dbo.Owner.Blockid = Encumbrances.Blockid
 on LandParces.Blockid =Encumbrances.Blockid

Вы можете попробовать это другое присоединение также.

0 голосов
/ 18 сентября 2009

Попробуйте следующий запрос:

select  LandParces.Blockid,LandParces.PNo,LandParces.Name,LandParces.Address, 
(
 SELECT  CASE WHEN ROW_NUMBER() OVER (ORDER BY Blockid) > 1 THEN ', ' ELSE '' END + Encumbrance
FROM    Encumbrances qi
        WHERE   qi.Blockid=  LandParces.Blockid 
        FOR XML PATH('')
)
 as Encumbrance,Owner.StorP,Owner.Hec
    from  LandParces 
    inner join Owner
on LandParces.Blockid =Owner.Blockid 

Этот запрос для sqlserver 2005 +

0 голосов
/ 18 сентября 2009

Посмотрите, как объединить таблицы здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...