Unikatowa kolumna w select
floran - 06-06-2006 00:54
Unikatowa kolumna w select
Inny prostszy problem - chyba ^^ Jest tabela złożona z 5 kolumn. (id, imie, nazwisko, wiek, info) Jak skonstruować zapytanie, aby wyświetlić wszystkie kolumny ale tylko takie, w których pole id będzie unikatowe ?
select distinct (id), imie, nazwisko, wiek, info
po tym dublowane mam rekordy z id takim samym
=?ISO-8859-2?Q?Micha=B3?= Kuratczyk - 06-06-2006 00:54
floran wrote: > Inny prostszy problem - chyba ^^ > Jest tabela złożona z 5 kolumn. (id, imie, nazwisko, wiek, info) > Jak skonstruować zapytanie, aby wyświetlić wszystkie kolumny ale tylko > takie, w których pole id będzie unikatowe ? Znaczy się masz różne dane przypisane do tych samych IDków? Brzmi cokolwiek podejrzanie. A jeśli nawet tak ma być, to którą wersję tego IDka chcesz wyświetlić? Przypadkową? Bardzo podejrzane...
-- Michał Kuratczyk
Rafal - 06-06-2006 00:54
>Znaczy się masz różne dane przypisane do tych samych IDków? Brzmi cokolwiek >podejrzanie. A jeśli nawet tak ma być, to którą wersję tego IDka chcesz >wyświetlić? Przypadkową? Bardzo podejrzane... nie doszukalem sie nazwy engine wiec to tez moze powinno dzialac
SELECT COUNT(id) AS ile, imie, nazwisko, wiek, info FROM abelka GROUP BY id HAVING ile=1
pozdr rafal sxat -- Archiwum grupy: http://niusy.onet.pl/pl.comp.bazy-danych
floran - 06-06-2006 00:54
Użytkownik "Rafal" <gonzak@op.pl> napisał w wiadomości news:20060605093045Z1186087-6431+2009@kps7.test.onet.pl... > >>Znaczy się masz różne dane przypisane do tych samych IDków? Brzmi >>cokolwiek >>podejrzanie. A jeśli nawet tak ma być, to którą wersję tego IDka chcesz >>wyświetlić? Przypadkową? Bardzo podejrzane... > nie doszukalem sie nazwy engine wiec to tez moze powinno dzialac > > SELECT > COUNT(id) AS ile, > imie, > nazwisko, > wiek, > info > FROM abelka > GROUP BY id > HAVING ile=1 > Nie działa :/
Dynamic SQL Error. SQL error code = -104. Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause).
Engine to firebird.
Rafal - 06-06-2006 00:54
>> info >> FROM abelka >> GROUP BY id >> HAVING ile=1 >> >Nie działa :/ > >Dynamic SQL Error. SQL error code = -104. >Invalid expression in the select list (not contained in either an aggregate
firebirda nie znam ale jak przegladam dokumentacje do roznic specjalnie nie widze dlaczego nie chce dzialac? bo >SELECT [TRANSACTION transaction] FROM <tableref> [, <tableref> …] [WHERE <search_condition>] [GROUP BY col [COLLATE collation] [, col [COLLATE collation] …] [HAVING <search_condition>]
moze ktos wie co jest z tym COUNT(id) i group by ? -- Archiwum grupy: http://niusy.onet.pl/pl.comp.bazy-danych
kf - 06-06-2006 00:55
Użytkownik "floran" <floran@onet.pl> napisał w wiadomości news:e60r6u$rik$1@nemesis.news.tpi.pl... > Inny prostszy problem - chyba ^^ > Jak skonstruować zapytanie, aby wyświetlić wszystkie kolumny ale tylko > takie, w których pole id będzie unikatowe ?
select * from tabela tb1 where ((select count(*) from tabela tb2 where tb2.id=tb1.id)=1)
Malo efektywne - ale dzialajace
kf
Misiekd - 06-06-2006 00:55
Dnia Mon, 5 Jun 2006 11:54:50 +0200, floran napisał(a):
> [ciach] > Nie działa :/ > > Dynamic SQL Error. SQL error code = -104. > Invalid expression in the select list (not contained in either an aggregate > function or the GROUP BY clause). > > Engine to firebird.
w dokumentacji pisze :P - w group by muszą być *wszystkie* pola na których nie ma agregacj
-- Pozdrawiam Misiekd
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[help] Illustrator CS - =?ISO-8859-2?Q?znikn=B1=B3_Selection_?==?ISO-8859-2?Q?Tool_=28V=29?=
[mysql 4.0] SELECT t1.id, t1.foo FROM t1 oraz COUNT t2 w jednym zapytaniu.
Jak =?ISO-8859-2?Q?zamieni=E6_dwa_pola_jednej_kolumny_?==?ISO-8859-2?Q?w_dw=F3ch_rekordach_za_pomoc=B1_jednego_zapyt? ==?ISO-8859-2?Q?ania=3F?=
[mysql] =?ISO-8859-2?Q?po=B3=B1czenie_tabel_wg_kolumn=2C_?==?ISO-8859-2?Q?nie_wierszy?=
ms sql server - =?ISO-8859-2?Q?domy=B6lny_format_kolumn_ty?==?ISO-8859-2?Q?pu_datetime?=
[ORACLE] Dodanie kolumny typu BLOB - =?ISO-8859-2?Q?wp=B3yw_na?==?ISO-8859-2?Q?_wydajno=B6c?=
=?iso-8859-2?q?select_sum_i_dwie_tabele..._b=B3=EAdna_agregac ja?=
=?iso-8859-2?Q?=5BMySql=5D_-_select_po_5_rekordow_mniejssych_i_wi=EAkszych?=
=?iso-8859-2?Q?=5BMySql=5D_Select_wed=B3ug_nazwy_pola?=
=?ISO-8859-2?Q?[mysql]_Nie_potrafi=EA_zgrupowa=E6_selecta_(proste)?=
zanotowane.pldoc.pisz.plpdf.pisz.plnocnerozmowy.xlx.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 |
|