Hoi Tweakers,
ik heb een vrij simpel query vraagje denk ik, maar ik loop vast.
het gaat om ms-sql 2005.
ik heb een tabel
nu heb ik in het RowID veld een aantal dubbele waardes, maar deze hebben wel een unieke identity en Time.
ik wil alleen de recods deleten waar:
het RowID niet uniek is, en het Time veld niet de jongste waarde is, en de waarde in het veld [status] <> 'T'
ik kan de dubbele records vinden:
en ik heb dit nog bedacht....
maar ik loop vast.
ik zal in het Nederlands mijn query nog even verwoorden.
ik wil graag verwijderen uit een tabel, alleen de records waarvan er dubbele waarden in veld x voorkomen, en die niet de jongste waarde uit het datum veld hebben, en in veld y niet de waarde T hebben staan.
dus ik wil niet verwijderen, de records met een unieke waarde in veld x, en van de dubbele records niet de records met de jongste waarde in het datum veld
als iemand mij hierbij kan helpen ben ik heel blij
ik heb een vrij simpel query vraagje denk ik, maar ik loop vast.
het gaat om ms-sql 2005.
ik heb een tabel
SQL:
1
2
3
4
5
6
| CREATE TABLE [dbo].[TabelNaam]( [Identity] [bigint] NULL, [RowID] [varchar](80) NULL, [Time] [datetime] NULL, [Status] [varchar](50) NULL ) ON [PRIMARY] |
nu heb ik in het RowID veld een aantal dubbele waardes, maar deze hebben wel een unieke identity en Time.
ik wil alleen de recods deleten waar:
het RowID niet uniek is, en het Time veld niet de jongste waarde is, en de waarde in het veld [status] <> 'T'
ik kan de dubbele records vinden:
SQL:
1
2
3
4
| SELECT RowID, COUNT(RowID) AS NumOccurrences FROM TableName GROUP BY RowID HAVING ( COUNT(RowID) > 1 ) |
en ik heb dit nog bedacht....
SQL:
1
2
3
4
5
6
| select mindates.* from (select rowid, min(time) as time from TableName group by rowid) as mindates inner join TableName on mindates.rowid = TableNames.rowid and TableName.[status] <>'T' |
maar ik loop vast.

ik zal in het Nederlands mijn query nog even verwoorden.
ik wil graag verwijderen uit een tabel, alleen de records waarvan er dubbele waarden in veld x voorkomen, en die niet de jongste waarde uit het datum veld hebben, en in veld y niet de waarde T hebben staan.
dus ik wil niet verwijderen, de records met een unieke waarde in veld x, en van de dubbele records niet de records met de jongste waarde in het datum veld
als iemand mij hierbij kan helpen ben ik heel blij
If you don't stand for something you'll fall for everything