| From: | kingemkurdam <kingemkurdam(at)gmail(dot)com> |
|---|---|
| To: | Emre Hasegeli <hasegeli(at)tart(dot)com(dot)tr> |
| Cc: | pgsql-tr-genel(at)postgresql(dot)org |
| Subject: | Re: [pgsql-tr-genel] Re: [pgsql-tr-genel] Re: [pgsql-tr-genel] Mysql'dan Postgresql geçerken aldığım hata |
| Date: | 2011-04-06 15:48:55 |
| Message-ID: | 4D9C8B67.9080800@gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-tr-genel |
On 06.04.2011 18:08, Emre Hasegeli wrote:
> 2011/4/6 kingemkurdam<kingemkurdam(at)gmail(dot)com>:
>> Aslında yapmak istediğim şey haberler diye bir view oluşturmak.
>> Mysql'da haberler view'i oluşturmak için çalıştırdığım sorgu şu şekilde.
>>
>> CREATE VIEW haberler AS SELECT
>> mod_haber.id AS id,
>> mod_haber.ad AS ad,
>> mod_haber.tarih AS tarih,
>> mod_haber.yayin AS yayin,
>> mod_haber.icerik AS icerik,
>> mod_haber.giris AS giris,
>> mod_haber.seo AS seo,
>> mod_haber.title AS title,
>> mod_haber.keywords AS keywords,
>> mod_haber.aciklama AS aciklama,
>> mod_haber.url AS url,
>> mod_haber.spot AS spot,
>> mod_haber.resim AS resim,
>> mod_haber.hit AS hit,
>> mod_haber.lang AS lang,
>> mod_kategori.ad AS kat,
>> mod_kategori.seo AS katseo,
>> mod_kategori.id AS kat_id,
>> mod_user.username AS username,
>> mod_user.id AS user_id,
>> mod_user.ad AS uad,
>> mod_user.soyad AS usoyad,
>> mod_user_group.ad AS groupad,
>> COUNT(mod_gallery.id) AS rcount
>> FROM (mod_haber
>> LEFT JOIN mod_user ON mod_haber.user_id=mod_user.id
>> LEFT JOIN mod_user_group ON mod_user.group_id=mod_user_group.group_id
>> LEFT JOIN mod_kategori ON mod_haber.kat_id=mod_kategori.id
>> LEFT JOIN mod_gallery ON mod_haber.id=mod_gallery.vid)
>> GROUP BY mod_haber.id
> Yazdığınız sorguda istediklerinizin SQL dilinde doğru anlatılmamış.
> Sizin GROUP BY kullanmanıza gerek yok. mod_gallery tablosunu COUNT'un
> içinde kullanmalısınız. Sorgunuz aşağıdaki gibi olmalı:
>
> CREATE VIEW haberler AS SELECT
> mod_haber.id AS id,
> mod_haber.ad AS ad,
> mod_haber.tarih AS tarih,
> mod_haber.yayin AS yayin,
> mod_haber.icerik AS icerik,
> mod_haber.giris AS giris,
> mod_haber.seo AS seo,
> mod_haber.title AS title,
> mod_haber.keywords AS keywords,
> mod_haber.aciklama AS aciklama,
> mod_haber.url AS url,
> mod_haber.spot AS spot,
> mod_haber.resim AS resim,
> mod_haber.hit AS hit,
> mod_haber.lang AS lang,
> mod_kategori.ad AS kat,
> mod_kategori.seo AS katseo,
> mod_kategori.id AS kat_id,
> mod_user.username AS username,
> mod_user.id AS user_id,
> mod_user.ad AS uad,
> mod_user.soyad AS usoyad,
> mod_user_group.ad AS groupad,
> COUNT(SELECT id
> FROM mod_gallery
> WHERE mod_haber.id = mod_gallery.vid) AS rcount
> FROM mod_haber
> LEFT JOIN mod_user ON mod_haber.user_id=mod_user.id
> LEFT JOIN mod_user_group ON mod_user.group_id=mod_user_group.group_id
> LEFT JOIN mod_kategori ON mod_haber.kat_id=mod_kategori.id
Yazdığınız şekilde sorgu yine gruplamamı istiyor.
Bu arada yazdığınız sorgu mysql'da tek bir satır getirdi.
*SQL error:*
ERROR: column "mod_haber.id" must appear in the GROUP BY clause or be used in an aggregate function
LINE 2: mod_haber.id AS id,
^
*In statement:*
CREATE VIEW haberler AS SELECT
mod_haber.id AS id,
mod_haber.ad AS ad,
mod_haber.tarih AS tarih,
mod_haber.yayin AS yayin,
mod_haber.icerik AS icerik,
mod_haber.giris AS giris,
mod_haber.seo AS seo,
mod_haber.title AS title,
mod_haber.keywords AS keywords,
mod_haber.aciklama AS aciklama,
mod_haber.url AS url,
mod_haber.spot AS spot,
mod_haber.resim AS resim,
mod_haber.hit AS hit,
mod_haber.lang AS lang,
mod_kategori.ad AS kat,
mod_kategori.seo AS katseo,
mod_kategori.id AS kat_id,
mod_user.username AS username,
mod_user.id AS user_id,
mod_user.ad AS uad,
mod_user.soyad AS usoyad,
mod_user_group.ad AS groupad,
COUNT('SELECT id FROM mod_gallery WHERE mod_haber.id = mod_gallery.vid') AS rcount
FROM mod_haber
LEFT JOIN mod_user ON mod_haber.user_id=mod_user.id
LEFT JOIN mod_user_group ON mod_user.group_id=mod_user_group.group_id
LEFT JOIN mod_kategori ON mod_haber.kat_id=mod_kategori.id
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Emre Hasegeli | 2011-04-06 16:50:13 | Re: [pgsql-tr-genel] Re: [pgsql-tr-genel] Re: [pgsql-tr-genel] Re: [pgsql-tr-genel] Mysql'dan Postgresql geçerken aldığım hata |
| Previous Message | Emre Hasegeli | 2011-04-06 15:08:41 | Re: [pgsql-tr-genel] Re: [pgsql-tr-genel] Re: [pgsql-tr-genel] Mysql'dan Postgresql geçerken aldığım hata |