Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zapytanie countowe z 2 tabeli
chmiello96
post 18.09.2012, 23:28:11
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 18.03.2012

Ostrzeżenie: (0%)
-----


Potrzebuję otrzymać w wyniku 2 rekordy określające liczbę atrybutów z 2 różnych tabel W JEDNYM ZAPYTANIU

dane:
  1. +---------+-------------+-----------+
  2. | like_id | like_object | like_user |
  3. +---------+-------------+-----------+
  4. | 1 | 1 | 1 |
  5. | 2 | 1 | 1 |
  6. | 3 | 1 | 1 |
  7. | 4 | 1 | 2 |
  8. | 5 | 1 | 2 |
  9. +---------+-------------+-----------+
  10.  
  11. +------------+----------------+--------------+
  12. | dislike_id | dislike_object | dislike_user |
  13. +------------+----------------+--------------+
  14. | 1 | 1 | 1 |
  15. | 2 | 1 | 1 |
  16. | 3 | 1 | 2 |
  17. +------------+----------------+--------------+


oczekiwany efekt:
  1. +-------------------+----------------------+
  2. | count ( like_id ) | count ( dislike_id ) |
  3. +-------------------+----------------------+
  4. | 5 | 3 |
  5. +-------------------+----------------------+


chyba nie trudno domyślić się, do czego tego potrzebuję smile.gif
Go to the top of the page
+Quote Post
motyl-pl
post 19.09.2012, 00:53:58
Post #2





Grupa: Zarejestrowani
Postów: 294
Pomógł: 31
Dołączył: 2.04.2010

Ostrzeżenie: (0%)
-----


  1. SELECT count(*) FROM (
  2. SELECT like_id FROM LIKE WHERE like_object = '$id'
  3. UNION
  4. SELECT dislike_id FROM dislike WHERE dislike_object = '$id'
  5. );
  6.  



Spróbuj tego.


--------------------
Go to the top of the page
+Quote Post
maly_swd
post 19.09.2012, 10:09:19
Post #3





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

Ostrzeżenie: (0%)
-----


Nie wiem czemu tak chcesz ale jak juz tak ma byc, to takie zapytanie.

  1. SELECT (SELECT count(like_id) FROM LIKE), (SELECT count(dislike_id) FROM dislike)





--------------------
śmieszne obrazki
Kryzys: Ser jem spleśniały, wino piję stare i samochód mam bez dachu..
Go to the top of the page
+Quote Post
mmmmmmm
post 19.09.2012, 11:26:14
Post #4





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


  1. SELECT Count(DISTINCT l.like_id), Count(DISTINCT d.dislike_id) FROM `like` l FULL JOIN `dislike` d ON d.dislike_object=l.like_object AND d.dislike_object=$id AND l.like_object=$id


Ten post edytował mmmmmmm 19.09.2012, 11:28:39
Go to the top of the page
+Quote Post
maly_swd
post 19.09.2012, 13:01:30
Post #5





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

Ostrzeżenie: (0%)
-----


@mmmmmmm, wytlumacz czemu robisz laczenie tabel jak one nie sa ze soba polaczone;)

Przeciez to przy 100 idkach w kazdej tabeli da 100x100= 10tys. rekordow, a pozniej z nich distincta robisz.

Moim zdaniem to bedzie masakrycznie wolne przy wiekszej liczbie rekordow


--------------------
śmieszne obrazki
Kryzys: Ser jem spleśniały, wino piję stare i samochód mam bez dachu..
Go to the top of the page
+Quote Post
mmmmmmm
post 19.09.2012, 18:51:54
Post #6





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


Cytat(maly_swd @ 19.09.2012, 14:01:30 ) *
@mmmmmmm, wytlumacz czemu robisz laczenie tabel jak one nie sa ze soba polaczone;)

Są połączone. Przez like_object<->dislike_object
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 20:40