Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> trudne zapytanie z count
pbanasiak
post
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 3.04.2004

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


potrzebuje wyciągnąć w jednym zapytaniu z tabeli x te rekordy, gdzie x.ilosc > 1+ilość rekordów w tabeli y, gdzie y.username=x.username
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pbanasiak
post
Post #2





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 3.04.2004

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


crashu

MySQL zwrócił komunikat:

#1111 - Invalid use of group function



popbart - struktura nie ma znaczenia, ale jak chcesz to podaję
to jest tabela x
Kod
id  bigint(20)   Nie    auto_increment              
   url  text   Tak  NULL                
   username  varchar(20)   Tak  NULL                
   active  int(1)   Tak  NULL                
   approved  int(1)   Tak  NULL                
   odslon  bigint(20)   Tak  NULL                
   time  bigint(20)   Tak  NULL                
   admin  int(1)   Nie  0          

a to y
Kod
time  bigint(20)   Tak  NULL                
   username  varchar(20)
i jest jeszcze tabela z:
Kod
username  varchar(20)   Tak  NULL                
credit  decimal(20,1)   Tak  NULL


aktualnie zapytanie wyglada tak:

  1. SELECT `x`.`id`, `x`.`userid`, `x`.`url`, `z`.`credit`
  2. FROM `x`, `z` WHERE `x`.`userid` = `z`.`userid` && `x`.`admin` = 0 && `x`.`approved` = 1 && `x`.`active` = 1 && `z`.`credit` >= 1 && `x`.`userid` != $_SESSION[userid] ORDER BY `x`.`time`

i potem jest jeszcze
  1. SELECT count(*)
  2. FROM `y` WHERE `userid` = $rezul[userid]

i jeśli
  1. <?php
  2. if($rezul[&#092;"credit\"]-$ile < 1) break; //ile to ta wartość z drugiego zapytania
  3. ?>

i chodzi o to aby to połączyć w jedno
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 13.10.2025 - 15:01