Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 15:37 22.05.24 
Компютри и Интернет
   >> Бази данни
Всички теми Следваща тема *Кратък преглед

Страници по тази тема: 1 | 2 | >> (покажи всички)
Тема свързани таблици....  
Автор Topбaлaн (любопитко)
Публикувано03.10.03 13:40



имам три таблици....една главна и две свързани та проблема ми е как да преброя записите в една свързана таблица а в друга да сумирам стойностите в едно поле, но без подзаявки....
за MySql 3.23.58 става дума...

Редактирано от Topбaлaн на 03.10.03 13:42.



Тема Re: свързани таблици....нови [re: Topбaлaн]  
АвторAcidMemory (Нерегистриран)
Публикувано03.10.03 14:08



дай някакъв пример, че не те разбрах точно какво искаш да направиш ...



Тема Re: свързани таблици....нови [re: Topбaлaн]  
Автор headhunter (huntz orcxez)
Публикувано03.10.03 14:16



Нещо не загрях, какво искаш да направиш. Дай някакъв пример!

General Protection Fault in module 0xDEEBAA. Рестартирайте държавата!


Тема примернови [re: Topбaлaн]  
Авторtorbalan (Нерегистриран)
Публикувано03.10.03 14:37



SELECT memberpics.pic_name AS 'Заглавие',
________COUNT(comments.fromdate) AS 'Коментари',
________SUM(votes.vote) AS 'Точки',
FROM memberpics
________LEFT JOIN comments ON (memberpics.pic_id = comments.pic_id)
________LEFT JOIN votes ON (memberpics.pic_id = votes.pic_id)
GROUP BY memberpics.pic_id
ORDER BY memberpics.pic_id DESC
LIMIT 10

нещо подобно да речем.....



Тема Re: пример ли?нови [re: torbalan]  
Автор salle (един такъв)
Публикувано03.10.03 17:18



Ами какво ти пречи да го направиш?



Тема Re: примернови [re: torbalan]  
Автор headhunter (huntz orcxez)
Публикувано03.10.03 17:56



защо искаш да набуташ всичко в едно запитване? направи си 2 помощни views и действай.
Ако много държиш да е в едно view то използвай nested selects. само, че не знам MySQL доколко е развит за такива работки. В Oracle бих написал нещо такова:
SELECT memberpics.pic_name AS 'Заглавие', memberpics.pic_id as picture_id,
(SELECT COUNT(comments.fromdate) FROM comments GROUP BY comments.pic_id HAVING comments.pic_id=picture_id ) AS 'Коментари',
(SELECT SUM(votes.vote) FROM votes GROUP BY votes.pic_id HAVING votes.pic_id=picture_id) AS 'Точки'ORDER BY memberpics.pic_id DESC
LIMIT 10

тук picture_id ти е нещо като global variable, който се автоподава като параметър в вътрешните запитвания...

... абе нещо такова - не казвам, че това, което съм написал е баш как-требе!

General Protection Fault in module 0xDEEBAA. Рестартирайте държавата!


Тема Re: примернови [re: torbalan]  
Авторzip (Нерегистриран)
Публикувано03.10.03 19:15



мисля че не може да стане в една заявка (без да изполваш 2 вюта за резултатите или без вложени заявки)
ако беше само да ги пребройш Ок. с distinct по ключа в подчинените табици
ама за сумата незнам
sale изглежда като че ли има решение
ако му е възможно да го post-не :)



Тема Re: примернови [re: torbalan]  
АвторAcidMemory (Нерегистриран)
Публикувано04.10.03 14:42



а какво и има на заявката ???
тука набързо я нахвърлих същата към една инсталация на phpbb и си бачка като пушка ...

select a.pic_id, a.pic_title, count(ac.comment_id), sum(ar.rate_point)
from phpbb_album a
left join phpbb_album_comment ac on (a.pic_id = ac.comment_pic_id)
left join phpbb_album_rate ar on (a.pic_id = ar.rate_pic_id)
group by a.pic_id
order by a.pic_id desc
limit 10



Тема и за saleнови [re: AcidMemory]  
Автор Topбaлaн (любопитко)
Публикувано06.10.03 09:07



ами не работи както аз искам...
има две свързани записи и съответно повече редове в отговора отколкото на мен ми трябват
и сбора от оценките и броя на коментарите в резултата не са верни...

нещо от този род ми трябва:

SELECT memberpics.pic_name AS 'Заглавие', memberpics.pic_id as picture_id,
(SELECT COUNT(comments.fromdate) FROM comments GROUP BY comments.pic_id HAVING comments.pic_id=picture_id ) AS 'Коментари',
(SELECT SUM(votes.vote) FROM votes GROUP BY votes.pic_id HAVING votes.pic_id=picture_id) AS 'Точки'ORDER BY memberpics.pic_id DESC


Редактирано от Topбaлaн на 06.10.03 09:21.



Тема Re: и за saleнови [re: Topбaлaн]  
Автор AcidMemory ()
Публикувано06.10.03 10:48



??? нещо си в грешка, бе човек

не може да ти се повтарят записи, след като left join-ваш по таблицата ...

постни данни от таблицата да видим - нещо не правиш както трябва или не те разбирам, но заявката (която ти написах) вади за всяка картинка сумата от оценките и сумата от коментарите към нея (принципно ще ти е по-полезно avg(от оценките), щото сумата няма какво да я правиш)




Страници по тази тема: 1 | 2 | >> (покажи всички)
Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.