Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Liczenie wystąpień w 2 różnych sytuacjach[zdjecie]
RollDev
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 5.12.2015

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


Witam, to znoau ja wink.gif

Napotkałem kolejny problem.
Mam 3 tabele. Arts, Artist i Arts_Artist jako relacja.
Do rekordu z Arts mogę przypisać dowolną ilość Artist i Artist może mieć wiele Arts'ów.
Chce teraz policzyć Ile Arts mają Artyści, lecz jest tutaj mały haczyk.
Arts może nie mieć odzwierciedlonej relacji w Arts_Artist, a w tabeli Arts ma pole "for_all_artist" - czyli dostępne dla wszystkich artystów.

Muszę policzyć ile Artist ma odzwierciedlen w Arts_Artis i policzyć do tego Arts, które są dostępne dla wszystkich.

Odzwiercidelić Wam to na prostej bazie?

@INFO W tabeli "ArtsArtis" mogę nie dopuścić do wystąpienia rekordu o ID 3. Także może powinno to jakoś ułatwić sprawę



Ten post edytował RollDev 8.07.2016, 15:50:15
Go to the top of the page
+Quote Post
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


  1. SELECT id_artist, COUNT(id_arts)
  2. FROM(
  3.  
  4. SELECT a.id_artist,ar.id_arts
  5. FROM (artist AS a,arts_artist AS aa,arts AS ar)
  6. WHERE aa.id_artist=a.id_artist AND ar.id_arts=aa.id_arts
  7.  
  8. UNION
  9.  
  10. SELECT a.id_artist,ar.id_arts
  11. FROM (artist AS a,arts AS ar)
  12. WHERE ar.ALL=1
  13.  
  14. ) AS tmp
  15. GROUP BY id_artist


Ten post edytował trueblue 8.07.2016, 17:45:18


--------------------
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 Aktualny czas: 22.08.2025 - 05:31