Posted By: medved (A~z na v~eky Mikov~ce.) on 'CZdatabases' Title: Re: zajimavost Date: Thu Sep 5 12:05:13 2002 > Ahoj. > > tab A tab B > id id > 1 1 > 1 2 > 1 3 > 2 > 2 > > A ted jak zjistit pocet zaznamu v B, ktere maji odkaz v tabulce A? > > SELECT COUNT(*) FROM a,b WHERE a.id = b.id > > vrati hodnotu 4. Nas sef nastesti nekde vyhrabal: Nechci vypadat jako kverulant, ale melo by to vratit hodnotu 5! Ten prikaz znamena spocitej (=vyber) vsechny radky z kartezkeho souctu tabulek "a" a "b" kde a.id=b.id . Takze z mnoziny: 1-1, 1-2, 1-3, 1-1, 1-2, 1-3, 1-1, 1-2, 1-3, 2-1, 2-2, 2-3, 2-1, 2-2, 2-3 Coz je 5 zaznamu. > SELECT COUNT(DISTINCT b.id) FROM a,b WHERE a.id = b.id > > a to vrati 2 :-) Je to Informix specific, nebo to funguje i jinde? Klicove slovo DISTINCT je myslim definovano uz v ANSI SQL-89 a predstavuje nastroj jak zarucit unikatnost dane hodnoty. > Jovo. Bye Medved No matter where you go, everyone is connected.