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.

Search the boards