Concat,PostgreSQL
Elimdeki proje ile uğraşırken bir soruna denk geldim, Aşağıdaki gibi bir sonuç döndüren sorgumun tek satırda almam gerekiyor, ancak name alanlarındaki verileri de kaybetmemem gerekiyordu. Biraz google biraz doküman okuyarak concat aggregate fonksiyonunu buldum ancak bu aggregate fonksiyonu PostgreSQL için yoktu, biraz daha bakınınca dökümanlardan birinde hazır yapılmışına rastladım. Eh burayada koymazsam olmaz sonra unutuyorum ![]()
SELECT name,phone FROM TABLENAME;
name | phone
-----------------+------------------
AAAAAAAF | 9054444333xx
AAAAAFFF | 9054444333xx
SSSSSDDDDAAAF | 9054444333xx
=> CREATE AGGREGATE concat (
(> BASETYPE = text,
(> SFUNC = textcat,
(> STYPE = text,
(> INITCOND = ''
(> );
CREATE AGGREGATE
SELECT CONCAT(name||', ') AS name, phone FROM TABLENAME GROUP BY phone ;
name | phone
------------------------------------------------------------------------------------------+------------------
AAAAAAAF,AAAAAFFF,SSSSSDDDDAAAF | 9054444333xx
Pek bir güzel oldu....
Buda lazım tabii…
Bir alandaki tekrar eden verilerin hangileri olduğunu öğrenmek istiyorsunuz diyelim ne yaparsınız?
işte aşağıdaki gibi bir sorgu yazarsınız,
SELECT
dates
FROM reports
GROUP BY dates
HAVING ( COUNT(dates) > 1 )
çalıştırırsınız sonrada dadından yinmez....
Eşit değildir….
"select * from table where field = Null" != "select * from table where field isnull"