Limba de interogare 1C vă permite să faceți conexiuni între două sau mai multe tabele. Prin aderare, ne referim la două mese în câmpurile cheie.
Există 4 tipuri de conexiuni
- Conexiune completă - rezultatul este un singur tabel care conține toate coloanele selectate, de obicei numărul de rânduri este egal cu numărul de taste potrivite, plus toate cele necorespunzătoare.
- Conexiune la stânga - ieșirea va fi câmpurile selectate din ambele tabele (prima dată și potrivirea celorlalte două chei de conectare), numărul de rânduri este întotdeauna egal cu numărul din primul tabel.
- Conectarea corectă este inversa legăturii din stânga (masa principală este cea de-a doua).
- Conexiune internă - numărul de rânduri dintr-un astfel de tabel este egal cu numărul de linii de potrivire care se potrivesc cu condiția.
Posibilitatea de a selecta toate câmpurile alăturat tabele (le numesc pe nume), dar în cazul în care conexiunea nu este internă, în absența câmpului va fi o valoare NULL, deci ar trebui să-l trateze într-un mod special sau o valoare substitut prin funcția EstNULL ().
Condiția de conectare poate fi o condiție simplă "TRUE", care va conecta tabelele cu o creștere semnificativă a numărului de rânduri (fiecare linie se va conecta la fiecare rând din al doilea tabel).
Astfel de interogări pe surse mari pot cauza o lipsă de memorie sau pot fi executate pentru o lungă perioadă de timp, până la "atârnă".
Diferite tipuri de asociații sunt utilizate pentru propriile scopuri și obiective:
Stânga. atunci când este necesar să adăugați la o masă principală câteva proprietăți din cealaltă. De exemplu, la lista contrapărților se adaugă datorii, detalii bancare, manageri.
Atunci când creați o astfel de interogare, ar trebui să vă asigurați că nu există duplicate în tabelul drept, acest lucru fiind facilitat de utilizarea unor tabele temporare sau a unor tabele imbricate. În caz contrar, duplicatele vor apărea în tabelul stâng, ceea ce va interfera cu percepția corectă.
Dacă restanțele sunt în lista dinamică. acest lucru poate provoca o eroare de duplicare în câmpul cheie.
Conexiunea internă servește la limitarea eșantionului la maxim, de exemplu: obțineți contrapartidele care au avut implementări în perioada selectată.
Managementul comercial pentru a rezolva această problemă conexiunea nu este atât de important, ar fi suficient pentru a aborda registrul de „vânzări“, ci în „Compania de contabilitate“, conexiunea va fi decizia corectă: la urma urmei, noi nu știm dinainte ce fel de cont cont este utilizat pentru vânzarea poate fi create de sub-contul utilizatorului (aceasta va oferi o soluție mai scurtă, dar totul depinde de situație - nu trebuie să fie universal).
Dacă trebuie să conectați mai mult de două mese, se face o conexiune - prima conexiune se face mai întâi și tabelele ulterioare sunt conectate la rezultat.
Cerință pentru astfel de tabele:
- diferitele lor pseudonime și neintersecția numelor cheilor și a tabelelor.
- În cazul conexiunilor multiple, este acceptabilă o combinație de mai multe tipuri de conexiuni.
Cum se configurează o conexiune în constructorul de interogări:
Pasul 1: Selectați tabelele necesare pe care le puteți conecta
- Acest lucru se face în fila cu file din designerul interogării.
- Apoi puteți selecta imediat câmpurile obligatorii.
Pasul 2: Accesați fila "Legături"
- Pentru tabele simple, unde conexiunile sunt definite clar, sistemul le va uni în mod independent
- În acest caz, legătura stângă
- Pentru a obține intern: ambele steaguri "Toate" sunt eliminate - atunci numai contrapărțile care au contacte
- Pentru a obține complet: ambele casete de selectare sunt setate
- Dacă este necesară o conexiune pentru două condiții, se adaugă un alt link.
Tipul de conexiune este dat de cuvântul corespunzător înainte de "CONNECTION", restul sintaxei este identică. Cel corect nu este considerat, deoarece constructorul de interogări va schimba automat mesele în locații și va face conexiunea stângă.
Exemplu de text al interogării "Conexiune internă":
Exemplu de conexiune stânga
Exemplu de "conexiune completă"
Ce trebuie să acordați atenție:
- Așa cum am menționat deja în valorile goale pentru conexiunea la stânga sau pe deplin.
- Cu grijă, utilizați conexiunile complete și felii din ultimul registru, acest lucru poate încetini considerabil eșantionul.
- Când se utilizează atenția de designer de plata la masa sa alăturat, uneori, poate fi înlocuit în tabelul din stânga nu este de așteptat de tine, dacă este să rateze începutul și apoi trebuie să corecteze manual sau prin dreapta (o secundă de atenție pentru a economisi timp în viitor).
- Dacă alegeți 2 tabele, dar nu specificați conexiunea, veți obține o conexiune completă implicită (tabelele vor fi separate printr-o virgulă). exemplu:
- Bertrand Russell