Pokaż
Ignoruj:
Data:
2009-07-10 11:57:31 (17 years ago)
Autor:
marek
Opis:

poprawiono raporty ReklamyDoDodania?, ReklamyDoUsuniecia? oraz ZestawienieMiesieczneFaktur?2009

Pliki:
1 zmodyfikowane

Legenda:

Bez zmian
Dodane
Usunięte
  • trunk/RaportySQL/ReklamyDoDodania.rdl

    r744 r748  
    108108          <rd:TypeName>System.Double</rd:TypeName> 
    109109        </Field> 
    110         <Field Name="reklama1"> 
    111           <DataField>reklama1</DataField> 
     110        <Field Name="Reklama"> 
     111          <DataField>Reklama</DataField> 
    112112          <rd:TypeName>System.String</rd:TypeName> 
    113113        </Field> 
     
    132132          <rd:TypeName>System.String</rd:TypeName> 
    133133        </Field> 
     134        <Field Name="PoprzedniaReklama"> 
     135          <DataField>PoprzedniaReklama</DataField> 
     136          <rd:TypeName>System.String</rd:TypeName> 
     137        </Field> 
     138        <Field Name="PoprzedniGrzbiet"> 
     139          <DataField>PoprzedniGrzbiet</DataField> 
     140          <rd:TypeName>System.String</rd:TypeName> 
     141        </Field> 
    134142      </Fields> 
    135143      <Query> 
    136144        <DataSourceName>BAZA_REKLAM</DataSourceName> 
    137         <CommandText>SELECT * FROM  
     145        <CommandText>DECLARE @PoprzedniNumer TABLE 
     146( 
     147        ReklamaId INT, 
     148        Reklama varchar(50), 
     149        StaryGrzbiet varchar(10) 
     150) 
     151 
     152INSERT INTO @PoprzedniNumer 
     153SELECT R.ReklamaId, R.[Id reklamy] AS Reklama, dbo.getSectionForDTP (T.Id, R.grzbiet, R.ogl_dzial) AS StaryGrzbiet FROM REKLAMA AS R  
     154                INNER JOIN [UKAÅ»E SIĘ W NR] ON R.ReklamaID = [UKAÅ»E SIĘ W NR].ReklamaId  
     155                INNER JOIN [Lista tytułów] T ON T.Symb=R.[Tytuł] 
     156                LEFT OUTER JOIN REKLAMA_STRONA ON R.ReklamaID = REKLAMA_STRONA.ReklamaId AND [UKAÅ»E SIĘ W NR].[Nr Wydania] = REKLAMA_STRONA.NR_WYDANIA  
     157                LEFT OUTER JOIN GRZBIETY AS G ON R.GRZBIET = G.ID  
     158                WHERE [UKAÅ»E SIĘ W NR].[Nr Wydania] = @nr1  
     159                AND r.tytuł =@tytul  
     160                AND r.[zatwierdzono do druku]=1 
     161 
     162SELECT * FROM  
    138163( 
    139164SELECT R.reklamaId, [UKAÅ»E SIĘ W NR].[Nr Wydania] as nrwyd1, G.[nazwa] as grzbiet1, R.mod_typ,  
    140165dbo.getSectionForDTP (T.Id,R.grzbiet,R.ogl_dzial) AS staryGrzbiet, 
    141 R.wys,R.szer, r.[id reklamy] as reklama1, R.strona as strona, A2.NazwaKrotka as agencja, 
    142 D.Name AS Dzial, Roz.Name AS Rozdzial, Lok.Text AS Lokalizacja 
     166R.wys,R.szer, r.[id reklamy] as Reklama, R.strona as strona, A2.NazwaKrotka as agencja, 
     167D.Name AS Dzial, Roz.Name AS Rozdzial, Lok.Text AS Lokalizacja, PopNr.Reklama AS PoprzedniaReklama, PopNr.StaryGrzbiet AS PoprzedniGrzbiet 
    143168FROM REKLAMA AS R  
    144169INNER JOIN [UKAÅ»E SIĘ W NR] ON R.ReklamaID = [UKAÅ»E SIĘ W NR].ReklamaId  
     
    151176LEFT OUTER JOIN Rozdzial AS Roz ON R.ogl_rozdzial = Roz.Id 
    152177LEFT OUTER JOIN ReklamaLokalizacja AS Lok ON R.AdLocationId = Lok.Id 
     178LEFT OUTER JOIN @PoprzedniNumer AS PopNr ON SUBSTRING(PopNr.Reklama,1,7) COLLATE SQL_Latin1_General_CP1250_CI_AS = SUBSTRING(R.[Id reklamy],1,7) COLLATE SQL_Latin1_General_CP1250_CI_AS 
    153179WHERE  
    154180[UKAÅ»E SIĘ W NR].[Nr Wydania] = @nr2   
    155181AND r.tytuł =@tytul  
    156182AND r.[zatwierdzono do druku]=1 
    157 AND SUBSTRING(R.[Id reklamy],1,7) NOT IN ( 
    158         SELECT SUBSTRING(R.[Id reklamy],1,7) FROM REKLAMA AS R  
    159                 INNER JOIN [UKAÅ»E SIĘ W NR] ON R.ReklamaID = [UKAÅ»E SIĘ W NR].ReklamaId  
    160                 LEFT OUTER JOIN REKLAMA_STRONA ON R.ReklamaID = REKLAMA_STRONA.ReklamaId AND [UKAÅ»E SIĘ W NR].[Nr Wydania] = REKLAMA_STRONA.NR_WYDANIA  
    161                 LEFT OUTER JOIN GRZBIETY AS G ON R.GRZBIET = G.ID  
    162                 WHERE [UKAÅ»E SIĘ W NR].[Nr Wydania] = @nr1  
    163                 AND r.tytuł =@tytul  
    164                 AND r.[zatwierdzono do druku]=1 
    165 )  --ORDER BY starygrzbiet, grzbiet1, reklama1 
    166183) Reklama 
    167 WHERE staryGrzbiet IN (@grzbiet) 
    168 ORDER BY starygrzbiet, grzbiet1, reklama1</CommandText> 
     184WHERE StaryGrzbiet IN (@grzbiet) AND (PoprzedniaReklama IS NULL OR (PoprzedniaReklama IS NOT NULL AND StaryGrzbiet&lt;&gt;PoprzedniGrzbiet)) 
     185ORDER BY StaryGrzbiet, grzbiet1, Reklama</CommandText> 
    169186        <QueryParameters> 
    170187          <QueryParameter Name="@nr2"> 
     
    760777                      <ZIndex>9</ZIndex> 
    761778                      <CanGrow>true</CanGrow> 
    762                       <Value>=Fields!reklama1.Value</Value> 
     779                      <Value>=Fields!Reklama.Value</Value> 
    763780                    </Textbox> 
    764781                  </ReportItems>