Pregătirea informațiilor este egală pentru toate cele trei tipuri de setări.
Setările pentru instrucțiunea SQL vor returna coloanele din tabel (set de înregistrări). Programul le va afișa ca un tabel derulant în câmpuri individuale din care veți putea alege.
Baza setării procedurii de căutare pentru articole este în generarea instrucțiunii select care va returna informații adecvate. Să vedem cea mai simplă modalitate, care este predefinită în Pantheon.
select acIdent, acActive, acName, anRTPrice, anWSPrice, anWSPrice2, anPrtPrice
from tHE_SetItem
order by acIdent
Această instrucțiune va afișa 7 coloane, ID-ul articolului, Starea, Numele, toate prețurile posibile.
Să vedem cum să actualizăm instrucțiunea astfel încât tabelul să aibă 8 coloane. În cele 8 coloane ar fi afișate primele 20 de caractere din descrierea tehnologică a articolului:
select acIdent, acActive, acName, anRTPrice, anWSPrice, anWSPrice2, anPrtPrice,
Left(cast(acTechProcedure as varchar),30) as TEH
from tHE_SetItem
order by acIdent
Până în acest punct, lucrurile sunt destul de simple, deoarece întotdeauna pregătiți datele cu sursa într-un singur tabel. Este mai dificil dacă doriți să afișați date din mai multe tabele diferite, adică:
select M.acIdent,M.acName,M.anRTPrice,Z.anStock, Z.acWarehouse
from tHE_SetItem M
left join tHE_stock Z on Z.acIdent = M.acIdent
order by M.acName
Această instrucțiune de mai sus este din perspectiva interogărilor SQL total OK, dar este inutilă pentru tabelele de selecție.
 |
În instrucțiunile select, puteți folosi doar un singur tabel!
Dacă doriți să folosiți date din tabele diferite, va trebui să definiți o vedere pentru acest scop! |
De exemplu, doriți să includeți setările de căutare pentru stocul articolelor din depozitul en-gros. În primul rând, creați o vedere care va selecta toate datele dorite într-un set de înregistrări:
Exemplu de Vedere
create view dl_ IdentLookup
as
select M.acIdent, M.acName, M.acClassif, M.acSetOfItem, M.acActive, Sum(Z.anStock) as ZALOGA
from tHE_SetItem M
left join tHE_Stock Z on M.acIdent = Z.acIdent
and Z.acWarehouse = 'Veleprodajno skladišče'
group by M.acIdent, M.acName, M.acClassif, M.acSetOfItem, M.acActive
*Această instrucțiune are o problemă majoră - depozitul din care alegeți stocul este predefinit și acesta nu poate fi schimbat. Dacă schimbați numele depozitului, va trebui să schimbați și vederea.
Odată ce vederea este creată, puteți introduce în Select câmp instrucțiunea select obișnuită din vedere care va selecta coloanele.
select acIdent,acName,anStock from _IdentLookup
order by acIdent