MySQL a zdanlive jednoduchej select

Jan Havlicek havlicek na vse.cz
Pátek Květen 4 09:01:03 CEST 2001


Jan Vrana wrote:
> 
> Krasny den,
> 
> Mam tabulku v MySQL,tvorenou dvema sloupci p1 a p2 existuje vzdy unikatni
> zaznam pro kombinaci p1 a p2 ale p1 muze myt libovolne p2 a obracene.
> 
> |p1 |p2|
> | 1 |2 |
> | 1 |1 |
> | 2 |1 |
> | 3 |2 |
> | 2 |2 |
> | 2 |1 |
> | 3 |1 |
> | 4 |2 |
> | 5 |2 |
> | 5 |1 |
> | 6 |1 |
> | 7 |2 |
> 
> Potrebuju vypsat seznam vsech  p1 ktere maji hodnotu v p2 '2' i '1', potom
> potrebuji vypsat seznam vsech p1 ktere maji hodnotu v p2 2 a nemaji hodnotu
> 1.
> 
> Napadlo me neco jako
> 
>   SELECT p1 FROM table WHERE p2=1 AND p2=2 .... coz samozrejme nefunguje
> 
> Nevite jak tento problem resit? Ja z toho zacinam uz cvokatet :-))

*** Nevim jestli jsem to dobre pochopil. Jak to vidim ja, tak to jsou
dva selecty, protoze ty podminky si muzou odporovat.

Takze to rozdelme:

Potrebuji vzechny hodnoty p1 z radku kde p2=2 nebo p2=1

pak by melo fungovat

select p1 from tabulka where p2=2 or p2=1;

melo by tusim fungovat tez:

select p1 from tabulka where p2 in (1,2);

Druhy problem je vybrat hodnoty p1 pro ktere plati ze p2=2 a zaroven
p1!=1

takze by melo fungovat:

select p1 from tabulka where p1!=1 and p2=2;

A kde je problem.

Dotaz 

SELECT p1 FROM table WHERE p2=1 AND p2=2

ne ze by nefungoval, jen ho z principu nemuze splnit zadny zaznam,
proste protoze definitoricky 2!=1, a predpokadam ze v tomto pripade
nebudeme tvrdit ze 1=2 pro extremne vysoke hodnoty 1 :))

Honza


-- 
<PRE>                         _______          ____
                              \___   |        |    |
 Jan Havlicek              _      \  |   _     \  /
 Vysoka Skola Ekonomicka  |-|   _\_| |__|_|__O__||__B<
 University of Economy    |-|---| +++     __________|)
 Prague CZ                |-|   | ++  ______________|)
 E-mail HAVLICEK na VSE.CZ |=|_|___|___________________|==|
                           -( + )<>-|-|( + )--( + )--\\\
 Keep smiling            ---------------------------------
</PRE>


Další informace o konferenci Databases