1

我想每个 ID 只取回一行,即使有多个行与一个 ID 相关联。

场景是数据反映了一个出售土地/房产的网站,并且对于每个列表,可能有多个图像与每个 ID 相关联。我只需要一个。

谢谢你。

根据要求,样本数据:

RowNumber   ID  UserID  CountryID   tbl_detailsID   Name    Description Price   AddressLine1    AddressLine2    City    State   Zip AddressGPS  Space   Amenities   Policies    URL DateEntered DateExpires NumViews    IsCompanyProperty   EnforceMinStay  IsOtherSite rate_Avg    isFeatured  DayPrice    ImageURL    Name    check_in    check_out   currency    bathroom_count  pet unit_size   elder   handicap    occupancy   bedroom_count   LinkURL smoking unit_size_Units property_Type   children    Minimum_stay    Minimum_stay_Unit   CountryName
2   247586  1   1   161398  Beautiful Oceanfront Home in Cambria California Located on the Central Coast of California 10 minutes from Hearst Castle.
Phone 1: Toll Free (800) 240-2277
Phone 2: (805) 927-0306 (California, USA)
direct email contact: debbie (@) maisonsdecambria.com

Leopold Cove" is a beautiful Oceanfront Home located on the Central Coast of California. It has fabulous ocean views and access to the water from a private stairway. The living area has large plate glass windows that feature 180 degree views of the Pacific Ocean. A comfortable platform style bed & a warm, cozy fireplace are also located in the living area so you can relax for hours, or even days, enjoying the beauty that surrounds you. There is a full kitchen & a separate bedroom with 2 twin beds. The property also has a picnic area & places to sit, perhaps with a good book & a glass of wine while you watch the sunset. If you are a nature lover, you will enjoy the otters, seals & birdlife that we are privileged to have so close to us. During the gray whale migration times, this is a p     2183 Sherwood Drive     Cambria California  93428   35.544712|-121.095444               http://www.flipkey.com/cambria-vacation-rentals/p202618/    2012-10-01 10:52:00 2012-10-15 10:52:00 0   0   0   703 5.0 0   NULL    http://images1.flipkey.com/img/photos/302459/243298/large_302459-243298-007-1346943508.jpg  Beautiful Oceanfront Home in Cambria California         USD 1   Ask 0   Ask Ask 4   1   http://www.flipkey.com/cambria-vacation-rentals/p202618/    Ask     House   Ask 0   NULL    United States
3   247586  1   1   161398  Beautiful Oceanfront Home in Cambria California Located on the Central Coast of California 10 minutes from Hearst Castle.
Phone 1: Toll Free (800) 240-2277
Phone 2: (805) 927-0306 (California, USA)
direct email contact: debbie (@) maisonsdecambria.com

Leopold Cove" is a beautiful Oceanfront Home located on the Central Coast of California. It has fabulous ocean views and access to the water from a private stairway. The living area has large plate glass windows that feature 180 degree views of the Pacific Ocean. A comfortable platform style bed & a warm, cozy fireplace are also located in the living area so you can relax for hours, or even days, enjoying the beauty that surrounds you. There is a full kitchen & a separate bedroom with 2 twin beds. The property also has a picnic area & places to sit, perhaps with a good book & a glass of wine while you watch the sunset. If you are a nature lover, you will enjoy the otters, seals & birdlife that we are privileged to have so close to us. During the gray whale migration times, this is a p     2183 Sherwood Drive     Cambria California  93428   35.544712|-121.095444               http://www.flipkey.com/cambria-vacation-rentals/p202618/    2012-10-01 10:52:00 2012-10-15 10:52:00 0   0   0   703 5.0 0   NULL    http://images1.flipkey.com/img/photos/302459/243298/large_302459-243298-006-1346943508.jpg  Beautiful Oceanfront Home in Cambria California         USD 1   Ask 0   Ask Ask 4   1   http://www.flipkey.com/cambria-vacation-rentals/p202618/    Ask     House   Ask 0   NULL    United States
4   247586  1   1   161398  Beautiful Oceanfront Home in Cambria California Located on the Central Coast of California 10 minutes from Hearst Castle.
Phone 1: Toll Free (800) 240-2277
Phone 2: (805) 927-0306 (California, USA)
direct email contact: debbie (@) maisonsdecambria.com

Leopold Cove" is a beautiful Oceanfront Home located on the Central Coast of California. It has fabulous ocean views and access to the water from a private stairway. The living area has large plate glass windows that feature 180 degree views of the Pacific Ocean. A comfortable platform style bed & a warm, cozy fireplace are also located in the living area so you can relax for hours, or even days, enjoying the beauty that surrounds you. There is a full kitchen & a separate bedroom with 2 twin beds. The property also has a picnic area & places to sit, perhaps with a good book & a glass of wine while you watch the sunset. If you are a nature lover, you will enjoy the otters, seals & birdlife that we are privileged to have so close to us. During the gray whale migration times, this is a p     2183 Sherwood Drive     Cambria California  93428   35.544712|-121.095444               http://www.flipkey.com/cambria-vacation-rentals/p202618/    2012-10-01 10:52:00 2012-10-15 10:52:00 0   0   0   703 5.0 0   NULL    http://images1.flipkey.com/img/photos/302459/243298/large_302459-243298-005-1346943508.jpg  Beautiful Oceanfront Home in Cambria California         USD 1   Ask 0   Ask Ask 4   1   http://www.flipkey.com/cambria-vacation-rentals/p202618/    Ask     House   Ask 0   NULL    United States
5   247586  1   1   161398  Beautiful Oceanfront Home in Cambria California Located on the Central Coast of California 10 minutes from Hearst Castle.
Phone 1: Toll Free (800) 240-2277
Phone 2: (805) 927-0306 (California, USA)
direct email contact: debbie (@) maisonsdecambria.com

Leopold Cove" is a beautiful Oceanfront Home located on the Central Coast of California. It has fabulous ocean views and access to the water from a private stairway. The living area has large plate glass windows that feature 180 degree views of the Pacific Ocean. A comfortable platform style bed & a warm, cozy fireplace are also located in the living area so you can relax for hours, or even days, enjoying the beauty that surrounds you. There is a full kitchen & a separate bedroom with 2 twin beds. The property also has a picnic area & places to sit, perhaps with a good book & a glass of wine while you watch the sunset. If you are a nature lover, you will enjoy the otters, seals & birdlife that we are privileged to have so close to us. During the gray whale migration times, this is a p     2183 Sherwood Drive     Cambria California  93428   35.544712|-121.095444               http://www.flipkey.com/cambria-vacation-rentals/p202618/    2012-10-01 10:52:00 2012-10-15 10:52:00 0   0   0   703 5.0 0   NULL    http://images1.flipkey.com/img/photos/302459/243298/large_302459-243298-004-1346943508.jpg  Beautiful Oceanfront Home in Cambria California         USD 1   Ask 0   Ask Ask 4   1   http://www.flipkey.com/cambria-vacation-rentals/p202618/    Ask     House   Ask 0   NULL    United States
6   247586  1   1   161398  Beautiful Oceanfront Home in Cambria California Located on the Central Coast of California 10 minutes from Hearst Castle.
Phone 1: Toll Free (800) 240-2277
Phone 2: (805) 927-0306 (California, USA)
direct email contact: debbie (@) maisonsdecambria.com

Leopold Cove" is a beautiful Oceanfront Home located on the Central Coast of California. It has fabulous ocean views and access to the water from a private stairway. The living area has large plate glass windows that feature 180 degree views of the Pacific Ocean. A comfortable platform style bed & a warm, cozy fireplace are also located in the living area so you can relax for hours, or even days, enjoying the beauty that surrounds you. There is a full kitchen & a separate bedroom with 2 twin beds. The property also has a picnic area & places to sit, perhaps with a good book & a glass of wine while you watch the sunset. If you are a nature lover, you will enjoy the otters, seals & birdlife that we are privileged to have so close to us. During the gray whale migration times, this is a p     2183 Sherwood Drive     Cambria California  93428   35.544712|-121.095444               http://www.flipkey.com/cambria-vacation-rentals/p202618/    2012-10-01 10:52:00 2012-10-15 10:52:00 0   0   0   703 5.0 0   NULL    http://images1.flipkey.com/img/photos/302459/243298/large_302459-243298-003-1346943508.jpg  Beautiful Oceanfront Home in Cambria California         USD 1   Ask 0   Ask Ask 4   1   http://www.flipkey.com/cambria-vacation-rentals/p202618/    Ask     House   Ask 0   NULL    United States
7   247586  1   1   161398  Beautiful Oceanfront Home in Cambria California Located on the Central Coast of California 10 minutes from Hearst Castle.
Phone 1: Toll Free (800) 240-2277
Phone 2: (805) 927-0306 (California, USA)
direct email contact: debbie (@) maisonsdecambria.com

Leopold Cove" is a beautiful Oceanfront Home located on the Central Coast of California. It has fabulous ocean views and access to the water from a private stairway. The living area has large plate glass windows that feature 180 degree views of the Pacific Ocean. A comfortable platform style bed & a warm, cozy fireplace are also located in the living area so you can relax for hours, or even days, enjoying the beauty that surrounds you. There is a full kitchen & a separate bedroom with 2 twin beds. The property also has a picnic area & places to sit, perhaps with a good book & a glass of wine while you watch the sunset. If you are a nature lover, you will enjoy the otters, seals & birdlife that we are privileged to have so close to us. During the gray whale migration times, this is a p     2183 Sherwood Drive     Cambria California  93428   35.544712|-121.095444               http://www.flipkey.com/cambria-vacation-rentals/p202618/    2012-10-01 10:52:00 2012-10-15 10:52:00 0   0   0   703 5.0 0   NULL    http://images1.flipkey.com/img/photos/302459/243298/large_302459-243298-002-1346943508.jpg  Beautiful Oceanfront Home in Cambria California         USD 1   Ask 0   Ask Ask 4   1   http://www.flipkey.com/cambria-vacation-rentals/p202618/    Ask     House   Ask 0   NULL    United States
8   247586  1   1   161398  Beautiful Oceanfront Home in Cambria California Located on the Central Coast of California 10 minutes from Hearst Castle.
Phone 1: Toll Free (800) 240-2277
Phone 2: (805) 927-0306 (California, USA)
direct email contact: debbie (@) maisonsdecambria.com

Leopold Cove" is a beautiful Oceanfront Home located on the Central Coast of California. It has fabulous ocean views and access to the water from a private stairway. The living area has large plate glass windows that feature 180 degree views of the Pacific Ocean. A comfortable platform style bed & a warm, cozy fireplace are also located in the living area so you can relax for hours, or even days, enjoying the beauty that surrounds you. There is a full kitchen & a separate bedroom with 2 twin beds. The property also has a picnic area & places to sit, perhaps with a good book & a glass of wine while you watch the sunset. If you are a nature lover, you will enjoy the otters, seals & birdlife that we are privileged to have so close to us. During the gray whale migration times, this is a p     2183 Sherwood Drive     Cambria California  93428   35.544712|-121.095444               http://www.flipkey.com/cambria-vacation-rentals/p202618/    2012-10-01 10:52:00 2012-10-15 10:52:00 0   0   0   703 5.0 0   NULL    http://images1.flipkey.com/img/photos/302459/243298/large_302459-243298-001-1346943508.jpg  Beautiful Oceanfront Home in Cambria California         USD 1   Ask 0   Ask Ask 4   1   http://www.flipkey.com/cambria-vacation-rentals/p202618/    Ask     House   Ask 0   NULL    United States

还有我正在构建的用于替换几百行临时表的 Omni-query I:

SELECT DISTINCT ROW_NUMBER() OVER(ORDER BY tbl_Properties.ID DESC) AS [RowNumber], tbl_Properties.ID, tbl_Properties.UserID, tbl_Properties.CountryID, tbl_Properties.tbl_detailsID, tbl_Properties.Name, 
tbl_Properties.[Description], tbl_Properties.Price, tbl_Properties.AddressLine1, tbl_Properties.AddressLine2, tbl_Properties.City, tbl_Properties.[State], tbl_Properties.Zip, tbl_Properties.AddressGPS,
 tbl_Properties.[Space],
 tbl_Properties.Amenities,
 tbl_Properties.Policies,
 tbl_Properties.URL,
 tbl_Properties.DateEntered,
 tbl_Properties.DateExpires,
 tbl_Properties.NumViews,
 tbl_Properties.IsCompanyProperty,
 tbl_Properties.EnforceMinStay,
 tbl_Properties.IsOtherSite,
 tbl_Properties.rate_Avg,
 tbl_Properties.isFeatured,
 tbl_Properties.DayPrice,
 tbl_Images.ImageURL,
 tbl_Details.Name,
 tbl_Details.check_in,
 tbl_Details.check_out,
 tbl_Details.currency,
 tbl_Details.bathroom_count,
 tbl_Details.pet,
 tbl_Details.unit_size,
 tbl_Details.elder,
 tbl_Details.handicap,
 tbl_Details.occupancy,
 tbl_Details.bedroom_count,
 tbl_Details.url As [LinkURL],
 tbl_Details.smoking,
 tbl_Details.unit_size_Units,
 tbl_Details.property_Type,
 tbl_Details.children,
tbl_Details.Minimum_stay,
tbl_Details.Minimum_stay_Unit,
 tbl_Countries.Name As [CountryName]
 FROM [tbl_Details] 
 INNER JOIN [tbl_Properties] ON [tbl_Details].[detailsID] = [tbl_Properties].[tbl_detailsID]
 INNER JOIN [tbl_Images] ON [tbl_Images].PropertyID = [tbl_Properties].ID
 INNER JOIN [tbl_Countries] ON [tbl_Countries].ID = [tbl_Properties].CountryID 

当然,查询本身还没有完成。

4

4 回答 4

1
于 2012-11-28T07:15:53.737 回答
0

SQL Server 2005+你可以使用这个

use tempdb
go

create table tbl (id int, s varchar(50))
insert into tbl values (1,'qwe'),(1,'asd'), (1,'qwff'),(2,'ert'),(2,'ykf'),(3,'')

;with cte
AS
(
SELECT id,s, ROW_NUMBER() OVER (PARTITION BY id ORDER BY s ) n
FROM tbl
)
SELECT id,s
FROM CTE
WHERE n=1

drop table tbl
于 2012-11-28T07:11:09.423 回答
0

尝试这个:

SELECT TOP 1 * FROM
imagestable
WHERE imagestable.landID = <theID>

这将返回表中属于该属性的第一个图像。

如果您想将所有属性信息作为单个记录返回,您可以将此查询与您的属性表进行 INNER JOIN。

于 2012-11-28T07:08:15.427 回答
0

由于没有样本数据,您需要调整此响应以满足您的需求

select 
  Listings.*, SingleImage.Column1, SingleImage.Column2
from Listings
  cross apply (
    select top 1 *
    from Images
    where Listings.ListingID = Images.ListingID
    ) SingleImage

这需要 SQL 2005 或更新版本(“交叉应用”才能工作)

也有一些方法可以让它在 SQL 2000 中工作,但它们的效率不高

于 2012-11-28T07:05:39.347 回答