ďťż
 
[mysql] union + count bez powtorzen ďťż
 
[mysql] union + count bez powtorzen
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[mysql] union + count bez powtorzen



raf - 26-04-2006 01:22
[mysql] union + count bez powtorzen
  witam chce polaczyc 2 tabele tak aby druga zastepowala wyniki pierwszej
(jezeli jest duplikat)

select 0 as x, id as k from k
union
select count(id) AS x, k from prod GROUP BY k

w 1 tabeli wartosc x ma miec 0
natomiast w 2 x jest zliczany
problem w tym ze mysql widzi 'x' jako dwa rozne typy

np zwoci
x k
------------
0 k --> z pierwszej tabeli
0 k --> z drugiej tabeli
a powinno zwocic tylko 1 wiersz bo jest union





=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 26-04-2006 01:22

  raf napisał(a):
> witam chce polaczyc 2 tabele tak aby druga zastepowala wyniki pierwszej
> (jezeli jest duplikat)
>
> select 0 as x, id as k from k
> union
> select count(id) AS x, k from prod GROUP BY k
>
> w 1 tabeli wartosc x ma miec 0
> natomiast w 2 x jest zliczany
> problem w tym ze mysql widzi 'x' jako dwa rozne typy
>
> np zwoci
> x k
> ------------
> 0 k --> z pierwszej tabeli
> 0 k --> z drugiej tabeli
> a powinno zwocic tylko 1 wiersz bo jest union

Jakbyś tak najpierw napisał co znajduje sie w tabeli k, a potem co
uzyskałeś i dopiro pod tym wynik, to by było jaśniejsze.

Ale tak na pierwszy rzut oka, to count(id) zwróci 0 tylko, jak id jest
null (oczywiście, gdy uzywamy group by), a zazwyczaj id robi sie not
null.... stąd moje domniemanie, że cos pokręciłeś. :)

--
P.M.




Przemyslaw Popielarski - 27-04-2006 00:16

  raf <rafalpawelczyk@tlen.pl> wrote:
> select 0 as x, id as k from k
> union
> select count(id) AS x, k from prod GROUP BY k
>
> w 1 tabeli wartosc x ma miec 0
> natomiast w 2 x jest zliczany
> problem w tym ze mysql widzi 'x' jako dwa rozne typy

Bron Boze nie podawaj wersji oprogramowania, zebysmy nie mogli zweryfikowac
Twoich zapytan u siebie zbyt latwo. Pobawmy sie w zgaduj-zgadula, kazdy ma
przeciez za duzo czasu. Ja tez. Wiec u mnie na 4.1.16 i 5.0.20a nie moge
powtorzyc Twoich rezultatow. Tak, wersja w tym przypadku wg dokumentacji
*ma* znaczenie:
http://dev.mysql.com/doc/refman/5.0/en/union.html

"If the data types of corresponding SELECT columns do not match, the types
and lengths of the columns in the UNION result take into account the values
retrieved by all of the SELECT statements."

"(In some earlier versions of MySQL, only the type and length from the first
SELECT would have been used and the second row would have been truncated to
a length of 1.)"

--
../ premax
../ premax@hot,pl
../ koniec i bomba, a kto czytal ten traba. w.g.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?= [mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?= [MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?= [mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?= [MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?= [MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?= Gdzie MySQL 4.1, a gdzie 5.0? [MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?= [MS SQL] "set names" (mySQL) w MS SQL [mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • shanti.opx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com