я имею следующий 3 таблицыпожалуйста, помогите мне создать SQL запрос
CREATE TABLE [dbo].[dspartner](
[dspartnerid] [bigint] IDENTITY(1,1) NOT NULL,
[name] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[priority] [int] NULL)
CREATE TABLE [dbo].[hotels](
[hotelid] [int] PRIMARY KEY IDENTITY(1,1) NOT NULL,
[name] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[DSPartnerid] [bigint] NULL,
)
CREATE TABLE [HotelSourceMap](
[hotelsourcemapid] [bigint] PRIMARY KEY IDENTITY(1,1) NOT NULL,
[dspartnerid] [bigint] NOT NULL,
[hotelid] [bigint] NOT NULL,
[dshotelid] bigint
)
ситуация такова:
я хочу к таблице: dspartner содержат подробную информацию о партнере источника данных. стол: отели содержат подробности отелей таблицы: HotelSourceMap содержит запись hotels.hotelid, dsparnter.dspartnerid
новый я хочу обновить таблицу отелей, так что набор hotels.dspartner = hotelsourcemap.dspartnerid где hotels.hotelid = hotelsourcemap.hotelid и hotelsourcemap.dspartnerid = dspartner.dspartnerid (где priorirty dspartnerid высок)
Примечание: -priority содержит INT значение и значение INT макс будет considerd в качестве максимального приоритета. если два dspartner имеют одинаковый приоритет, то получить какой-либо один из них
SQL Server 2005
Что делать, если есть два (или более) 'dspartnerid' с равными высокими приоритетами? И что такое «высокий приоритет» - тип данных - int, но это не означает, что более высокие цифры означают более высокий ранг - может быть обратным для всех, что мы знаем. –
приоритет содержит значение int, а значение max int будет считаться максимальным приоритетом. Если два dspartner имеют одинаковый приоритет, тогда получите любой из них –
А какая версия SQL Server? –