Locuieste pe forum
Grupa: Echipa
Mesaje: 0 Membri:
De la: Odessa
Mulțumesc ai spus: de 1249 de ori
Evaluare: 908.3
Acest articol ia în considerare propunerea SELECT, locul și rolul său în limba de interogare 1C: Enterprise 8.
Clauza SELECT este singurul element obligatoriu al oricărei interogări, astfel încât începe studiul limbajului de interogare. Scopul principal al instrucțiunii SELECT este de a specifica câmpurile din eșantion care ar trebui să fie incluse în rezultatul interogării.
Următoarele subiecte sunt discutate mai jos:
- Locul propunerii SELECT în structura cererii 1C: Enterprise 8
- Exemple de solicitări cu un SELECT:
- Selectarea tuturor câmpurilor (cu excepția celor virtuale) din tabele
- Selectarea câtorva câmpuri din tabele
- Câmpurile virtuale
- Pentru a numi câmpurile de referință
- Alias de câmp (cuvânt cheie AS / AS)
- Accesați partea de masă ca o tabelă imbricată
- Referindu-se la partea tabelului ca tabel sursă
- Cuvinte cheie VARIOUS / DISTINCT
- Cuvinte cheie FIRST / TOP
- Expresii în lista câmpurilor de selecție
Locul SELECT în structura interogării
În orice solicitare, trebuie să existe cel puțin un SELECT.
Lista câmpurilor de eșantionare trebuie să conțină o descriere a cel puțin unui câmp de selecție, care în general este o expresie.
Exemplu de solicitări cu o clauză SELECT
1. Selectarea tuturor câmpurilor (cu excepția celor virtuale) din tabele
În loc de a enumera lista de câmpuri, puteți specifica un asterisc ("*") și apoi rezultatul interogării va include toate câmpurile tabelului sursă, cu excepția celor virtuale. De exemplu:
Notă. În limbajul de interogare, este posibil să se facă fără IZspecification, dacă descrierea câmpului conține calea completă la ea cu tabela sursă, de exemplu,
2. Selectați numai anumite câmpuri din tabele
Cea mai obișnuită modalitate este de a enumera mai multe câmpuri din tabela sursă, apoi numai aceste câmpuri vor cădea în rezultatul interogării.
3. Câmpuri virtuale
Unele dintre câmpurile din tabelele sursei virtuale, de exemplu, „Prezentarea“ caseta pentru directorul și masa de documente sau „MomentVremeni“ pentru document. Aceasta înseamnă că acestea nu sunt stocate în baza de date, dar sunt generate "în zbor". câmpuri virtuale nu sunt incluse în rezultatele interogării când, în loc de o listă de câmpuri un asterisc ( „*“), ele trebuie să fie explicite, cum ar fi „SELECT * FROM Spravochnik.Tovary Prezentare“. Această decizie a fost luată pentru a accelera implementarea interogării clasice "SELECT * FROM. “. În acest caz, nu este necesar să generați vizualizări pentru elementele de directoare și documente, de aici interogările vor fi executate mai repede.
4. Denumiți câmpurile de referință
În 1C: Enterprise 8, puteți accesa proprietățile obiectelor printr-unul sau mai multe puncte, de exemplu, "Nomenclature.Supplier Country." Acest lucru face mult mai ușor să scrieți interogări. Se recomandă întotdeauna să utilizați dereferența câmpurilor acolo unde este posibil, pentru a nu complica cererile cu construcții redundante.
5. Alias de câmp (cuvântul cheie AS / AS)
Un alias poate fi atribuit unui câmp utilizând cuvântul cheie HOW. Aceasta vă permite să accesați câmpul printr-un alias atunci când specificați totalurile și ordinea de sortare, precum și când traversați o selecție din rezultatul interogării, de exemplu:
Cuvântul cheie AS este opțional, adică interogarea de mai sus poate fi scrisă după cum urmează:
6. Accesul la o parte din tabel ca tabel imbricat
În acest caz, câmpul rezultat al interogării va avea tipul rezultatului interogării, adică conține rezultatul interogării imbricate generat pe baza părții din tabel.
Rețineți că, dacă executați următoarea interogare, interogarea are două tabele imbricate: prima conține coloana Nomenclatură și a doua coloană conține coloana Cantitate:
7. Accesul la partea tabelului ca tabelă sursă
Cu această metodă de tratament numele tabelului imbricate apare în numele tabelei sursă (sau oferte complete din numele câmpurilor), nu și tabele imbricate în rezultatul interogării.
8. Cuvântul VARIOUS / DISTINCT
Cuvântul cheie VARIOUS vă permite să lăsați în urma interogării numai liniile diferite.
9. Cuvânt cheie FIRST / TOP
Acest cuvânt cheie vă permite să limitați selecția la mai multe intrări. Adesea, acest cuvânt cheie este utilizat în combinație cu sortarea (ORDER LA COMANDĂ).
10. Expresii în lista câmpurilor de selecție
O descriere a câmpului de selecție poate fi o expresie care folosește următoarele elemente:
Tip literali: număr, șir (în ghilimele), boolean (valori Adevăr și fals), Nul, nedefinit. [Notă: Pentru a specifica un literal al tipului "data", puteți folosi cuvântul cheie DATE din limba de interogare sau puteți transmite data prin intermediul parametrului de interogare].
Parametri de interogare (cu un semn )
Nume câmp
Numele tabelului
Pentru a numi câmpul de referință (prin unul sau mai multe puncte)
Operații aritmetice (+, -, /, *) [Notă: operația de obținere a restului% în limba de interogare nu este acceptată]
Funcționarea concatenării șir (+) [Notă: operația de concatenare nu poate fi utilizată pentru câmpurile virtuale]
Funcțiile încorporate ale limbajului de interogare (ZI, LUNĂ, ANI, etc.)
Funcții agregate (SUM, MINIM, MAXIM, MEDIUM, QUANTITY)
Operația SELECT / CASE selectare vă permite să obțineți una dintre valorile posibile în funcție de condițiile specificate.
Operațiune de conversie tip EXPRESS / CAST
Mai jos sunt câteva exemple cu expresii în lista câmpurilor de selecție:
Astfel, clauza SELECT este cel mai important element al limbajului de interogare, deoarece vă permite să specificați câmpurile de rezultate dorite. Caracteristicile flexibile ale ofertei SELECT fac posibilă utilizarea limbajului de interogare pentru a rezolva o mare varietate de sarcini.