Request 1C 8

Ha azt akarjuk, hogy az adatokat több asztalon egyszerre, azaz gyűjteni több táblát az egyik van fogalma kapcsolat táblázatok és azok összefüggéseit. A vegyületek négy típusba sorolhatók:

Minden típusú megnézzük egy elvont példa. Vannak 2 asztal, az első áruház leíró információkat a nómenklatúra a második maradékainak:

Request 1C 8

Annak érdekében, hogy egy ilyen táblák, azt kell meghatároznia, hogy mely területeken fogunk kommunikálni, bármilyen körülmények között és típusát. Ki jobban érthető lesz.

bal csatlakozni

A bal oldali csatlakozzanak a rendszerhez azt mondjuk, hogy ennek eredményeként szeretnénk látni az összes rekordot a bal asztal és a rekordok a jobb tesznek eleget a kommunikáció. Tegyük fel, hogy csatlakoztassa a pályán asztalra tétel ugyanolyan állapotban, akkor kap egy tábla típusa:

Request 1C 8

A szék nem volt összehasonlítása a maradványait az asztalra, így egy területen töltött NULL értékeket, amelyek biztos, hogy kell kezelni ESTNULL funkciót, lásd. Query Language funkciók 1C 8.

Bal csatlakozzon működik, mint a ciklus a ciklusban - az első rekord venni a bal oldalon a táblázatot, és megy át az összes rekordot a jobb kielégítésére kommunikációs feltételeket. Ezután a második bejegyzés venni a bal oldalon a táblázat, stb Ha hirtelen a kommunikációs feltételeket kielégítik több rekord a táblázat jobb a kapott táblázat lesz hozzá egy pár sort (a szám a sikeres kapcsolatok) hivatkozva látni a kapott táblázat nem informatív, az adatok nem tükrözik a valós lényegét, ezért a legjobb, ha kapcsolni ezeket a táblákat a két mező: A termék és a színes, csak ez most fogja feldolgozni Nully:

Request 1C 8

A megfelelő kapcsolat

Jobb kapcsolat lényegében nem különbözik a bal oldalon. Ha a swap-táblázat, a megfelelő kapcsolat balra, sőt, segítségével a kivitelező rendszer maga alakítja az összes függőleges vegyület maradt.

belső kapcsolat

Segítségével a belső csatlakozó rendszer, azt mondjuk, hogy ennek eredményeként szeretnénk látni, csak azokat a rekordokat, amelyek megfelelnek a feltétel egy kapcsolatot a táblázat jobb és a bal oldalon. Így a számát kapott rekord lesz kisebb vagy egyenlő a rekordok száma nagyon „rövid asztal”, részt vesz a közös. Mi kell alkalmazni a belső kapcsolat a mezőket termék színét és a táblázatok:

teljes vegyületet

Teljes vegyületet kapjuk eredményt összes rekordját mindkét táblák, rekordok, amely kielégíti a kommunikációs infrastruktúra - csatlakoztatását, azok a rekordok, amelyek nem felelnek meg a feltétele a kommunikáció továbbra is eredményezheti a lekérdezés, de részben NULLovyh területeken. Teljes olyan, mint a bal és jobb oldalon egyetlen vegyület.

Problémák a témáról egy csomó, próbáljuk megoldani az egyiket. Cégünk egy kereskedő a 2 bútorok gyárak: „Hajnal” és a „Hajnal”. Tartomány, melynek értéke az egyes növények tárolt különböző táblázatokban. Szükség van egy egységes árlista, és vigye termékek a legalacsonyabb áron:

Alkalmazzuk a teljes kapcsolat a mintavételt minden mezőt, majd kommunikálni termék:

Request 1C 8

Ez nem pontosan az, amire szüksége van, nézzük csatlakozzon a területén a termék és a folyamat egy Nully:

Request 1C 8

Továbbra is csak a válassza ki a minimális árat. Végső tekt lekérdezés nézne ki:

Request 1C 8

Ha az árat nem kell megadni (NULL), akkor meg kell inicializálni néhány vagy értéke, vagy az összehasonlítás műveletet a felett / alatt lesz kidobják a hiba. inicializálni ár irreálisan nagy mennyiségű, hogy „elveszett” az összehasonlító művelet állapota miatt a probléma akkor válassza a legalacsonyabb ajánlatot.