I have a table with the following fields
Id Name IsPublic
i need to write a sql query that updates IsPublic to false where name has a duplicate. Only one of the duplicates should have IsPublic = true.
IsPublic is true by default
I have a table with the following fields
Id Name IsPublic
i need to write a sql query that updates IsPublic to false where name has a duplicate. Only one of the duplicates should have IsPublic = true.
IsPublic is true by default
I am suggesting a sub-select approach:
update tableName t1
set IsPublic = false
where exists(select ID
from tableName t2
where t1.name = t2.name
and t2.Id < t1.Id)
In order to ensure that exactly one of the duplicates keeps its IsPublic = true
, I use an extra where clause in the sub-select: and t2.Id < t1.Id
. The duplicate with the lowest Id value keeps IsPublic = true
, while all other records with the same name have their IsPublic set to false.
update
table
set
isPublic = false
from
table t
inner join table t2 on (t.name = t2.name and t.id < t2.id)
where
isPublic = true
Should be setting isPublic to false for all the duplicates retaining the item with the mininmun ID for each group of items with the same value for the Name field:
UPDATE
MyTable
SET
isPublic = false
WHERE
Id NOT IN
(SELECT
MIN(Id)
FROM
MyTable
GROUP BY
Name
)
declare @t table(Id int, Name varchar, IsPublic bit)
insert into @t(Id, Name) values(1, a )
insert into @t(Id, Name) values(2, b )
insert into @t(Id, Name) values(3, b )
update a
set IsPublic = isnull( (select 0 from @t b where a.Name = b.Name and a.id > b.id), 1)
from @t a
select * from @t
Non-unique record with min id gets IsPublic = 1
I ve got two tables: TableA Col1 Col2 TableB Col3 Col4 I want to join them together: SELECT * from TableA join TableB ON (...) Now, in place of ... I need to write an expression ...
TSQL query to select all records from Customer that has an Order and also select all records from customer that does not have an Order. The table Customer contains a primary key of CustomerID. The ...
I have a stored procedure which takes an XML parameter and inserts the data into multiple tables. If I run the stored procedure into a database using a SSMS query window, everything works fine. ...
Have a win 2003 box with MSSQL 2005 running on it. There is a database which is populated every morning with new/modified SalesOrder made the previous day. The database has several tables: SalesOrder, ...
I have a table with the following fields Id Name IsPublic i need to write a sql query that updates IsPublic to false where name has a duplicate. Only one of the duplicates should have IsPublic = ...
I have a Transact-SQL query that uses the IN operator. Something like this: select * from myTable where myColumn in (1,2,3,4) Is there a way to define a variable to hold the entire list "(1,2,3,4)"? ...
I ve got a content management system that contains a hierarchical structure of categories, with sub-categories subject to different ordering options at each level. Currently, that s retrieved by a (...
I m trying to transform the SQL Query below into Linq to SQL select Categorias.IdCategoria, Categorias.Nome, SUM(lancamentos.valor) from lancamentos left outer join Categorias on Lancamentos....