Degene die de topictitel heeft aangepast, dank je, dat was ik vergeten.
Hier is het SQL
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
| ALTER Procedure SP_LoadListDocuments
(@DocumentId VARCHAR(4000),
@NodeStrId VARCHAR(50),
@LanguageId INT)
As
DECLARE @Statement VARCHAR(8000)
SET @Statement = 'SELECT Creator.FirstName + '' '' + Creator.MiddleName + '' '' + Creator.LastName AS CreatorName, Owner.FirstName + '' '' + Owner.MiddleName + '' '' + Owner.LastName AS OwnerName, '
SET @Statement = @Statement + 'TBL_Teams.Name AS OwnerTeamName, TBL_Documents.CreationDate AS CreationDate, TBL_Documents.ExpiryDate AS ExpiryDate, TBL_Documents.CountViews AS CountViews, '
SET @Statement = @Statement + 'TBL_CategoriesLanguages.Name AS CategoryName, LV1.Value AS DocTemplateName, TBL_PropertyValues.PropertyId AS PropertyId, TBL_Properties.PropertyTypeId AS PropertyTypeId, '
SET @Statement = @Statement + 'TBL_PropertyValues.Value AS Value, TBL_DocTemplateProperties.SortOrder, TBL_DocTemplateProperties.IsRequired AS IsRequired, TBL_Teams.StrId AS TeamStrId, TBL_Categories.Id AS CategoryId, '
SET @Statement = @Statement + 'TBL_Documents.LockedByUserId AS LockedByUserId, TBL_Documents.LockTime AS LockTime, Owner.EMail as OwnerMail, Creator.EMail AS CreatorMail, '
SET @Statement = @Statement + 'TBL_DocTemplates.MaxNumberOfAttachMents As MaxAttachments, TBL_LanguageValues.Value AS PropertyName, TBL_DocTemplates.Id AS DocTemplateId, TBL_Documents.ToBeApproved, TBL_Documents.Id AS DocumentId '
SET @Statement = @Statement + 'FROM TBL_Documents '
SET @Statement = @Statement + ' INNER JOIN TBL_PropertyValues '
SET @Statement = @Statement + ' ON TBL_PropertyValues.DocumentId = TBL_Documents.Id '
SET @Statement = @Statement + ' INNER JOIN TBL_DocTemplateProperties '
SET @Statement = @Statement + ' INNER JOIN TBL_Properties '
SET @Statement = @Statement + ' INNER JOIN TBL_LanguageValues'
SET @Statement = @Statement + ' ON TBL_LanguageValues.ItemId = TBL_Properties.Id '
SET @Statement = @Statement + ' ON TBL_Properties.Id = TBL_DocTemplateProperties.PropertyId '
SET @Statement = @Statement + ' ON TBL_DocTemplateProperties.DocTemplateId = TBL_Documents.DocTemplateId '
SET @Statement = @Statement + ' INNER JOIN TBL_Users Creator '
SET @Statement = @Statement + ' ON Creator.Id = TBL_Documents.CreatedByUserId '
SET @Statement = @Statement + ' INNER JOIN TBL_Users Owner '
SET @Statement = @Statement + ' ON Owner.Id = TBL_Documents.OwnerUserId'
SET @Statement = @Statement + ' INNER JOIN TBL_Teams '
SET @Statement = @Statement + ' ON TBL_Teams.StrId = TBL_Documents.OwnerTeamId '
SET @Statement = @Statement + ' INNER JOIN TBL_DocTemplates '
SET @Statement = @Statement + ' INNER JOIN TBL_Categories '
SET @Statement = @Statement + ' INNER JOIN TBL_CategoriesLanguages '
SET @Statement = @Statement + ' ON TBL_CategoriesLanguages.CategoryId = TBL_Categories.Id '
SET @Statement = @Statement + ' ON TBL_Categories.Id = TBL_DocTemplates.CategoryId '
SET @Statement = @Statement + ' INNER JOIN TBL_LanguageValues LV1 '
SET @Statement = @Statement + ' ON LV1.ItemId = TBL_DocTemplates.Id '
SET @Statement = @Statement + ' ON TBL_Documents.DocTemplateId = TBL_DocTemplates.Id '
SET @Statement = @Statement + 'WHERE TBL_Documents.Id IN(' + @DocumentId + ') '
SET @Statement = @Statement + 'AND TBL_DocTemplateProperties.PropertyId = TBL_PropertyValues.PropertyId '
SET @Statement = @Statement + 'AND TBL_CategoriesLanguages.LanguageId = ' + CONVERT(VARCHAR(50), @LanguageId) + ' '
SET @Statement = @Statement + 'AND TBL_LanguageValues.LanguageId = ' + CONVERT(VARCHAR(50), @LanguageId) + ' '
SET @Statement = @Statement + 'AND TBL_LanguageValues.TableName = ''TBL_Properties'' '
SET @Statement = @Statement + 'AND LV1.TableName = ''TBL_DocTemplates'' '
SET @Statement = @Statement + 'AND LV1.LanguageId = ' + CONVERT(VARCHAR(50), @LanguageId) + ' '
SET @Statement = @Statement + 'GROUP BY TBL_Documents.CreationDate, TBL_Documents.ExpiryDate, Creator.FirstName + '' '' + Creator.MiddleName + '' '' + Creator.LastName, '
SET @Statement = @Statement + 'Owner.FirstName + '' '' + Owner.MiddleName + '' '' + Owner.LastName, TBL_Documents.CountViews, TBL_Teams.Name, TBL_CategoriesLanguages.Name, '
SET @Statement = @Statement + 'TBL_PropertyValues.PropertyId, TBL_Properties.PropertyTypeId, TBL_PropertyValues.Value, TBL_DocTemplateProperties.SortOrder, TBL_DocTemplateProperties.IsRequired, '
SET @Statement = @Statement + 'TBL_Teams.StrId, TBL_Categories.Id, TBL_Documents.LockedByUserId, TBL_Documents.LockTime, Owner.EMail, Creator.EMail,TBL_DocTemplates.MaxNumberOfAttachMents, '
SET @Statement = @Statement + 'TBL_LanguageValues.Value, TBL_DocTemplates.Id, LV1.Value, TBL_Documents.ToBeApproved, TBL_Documents.Id '
SET @Statement = @Statement + 'ORDER BY TBL_Documents.Id, TBL_DocTemplateProperties.SortOrder'
EXEC @Statement
return |
Als je dus die laatste EXEC @Statement vervangt door PRINT @Statement, krijg je dus het SQL-Statement naar je scherm geschreven.
Een mogelijke aanroep is:
SP_LoadListDocuments '1030, 1137, 1189', '', 1
SP_LoadListDocuments '1030', 'BAC', 1
Nog even een uitleg van de 3 variabelen die meegegeven kunnen worden
@DocumentId kan zijn: '1,2,3,100, 98, 7' of '10'. Oftewel, een serie van 1 of meer gehele getallen, gescheiden door een komma
@NodeStrId kan elke combinatie van letters zijn. A..Z
@LanguageId is een integer.
Verder werk ik met Windows XP en MS.SQL-Server 2000