Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Evaluiranje immena tabele iz SQL upita

[es] :: MySQL :: Evaluiranje immena tabele iz SQL upita

[ Pregleda: 2887 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bojan_bozovic

Član broj: 29028
Poruke: 3292
*.pat-pool.le.sbb.co.yu.

Sajt: angelstudio.org


+392 Profil

icon Evaluiranje immena tabele iz SQL upita18.11.2005. u 17:29 - pre 223 meseci
Treba mi nesto poput

Code:
 SELECT USER. * , GENDER.SEX AS VTABLE, AVERAGE
FROM USER
LEFT JOIN GENDER ON USER.UID = GENDER.USERID
LEFT JOIN VTABLE ON USER.UID = VTABLE.USERID WHERE UID=3
LIMIT 0 , 30 


Jer imam 2 tabele i ne mogu znati koju da koristim PRE upita u USER tabelu, a trebalo bi mi da smanjim broj SQL upita.

Da pojasnim - 4 tabele - USER, GENDER, GIRLS, BOYS

I umesto
Code:

SELECT USER.*, GENDER.SEX FROM USER
LEFT JOIN GENDER ON USER.UID=GENDER.USERID WHERE UID=3

Code:

SELECT USER.*, BOYS.AVERAGE FROM USER LEFT JOIN BOYS ON USER.UID=BOYS.USERID WHERE UID=3

ili GIRLS jer ne mogu da znam koji je pol korisnika pre upita.



[Ovu poruku je menjao bojan_bozovic dana 18.11.2005. u 18:39 GMT+1]

[Ovu poruku je menjao bojan_bozovic dana 18.11.2005. u 18:40 GMT+1]
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.dialup.neobee.net.

Sajt: www.novikorisnik.net


+5 Profil

icon Re: Evaluiranje immena tabele iz SQL upita18.11.2005. u 21:10 - pre 223 meseci
Ne znam za evaluiranje naziva tabele, moram da priznam da mi zvuči zanimljivo... Samo da primetim da sam gotovo potpuno siguran da ti je u ovoj konstrukciji suvišna tabela GENDER, jer je polje SEX svojstveno za sve iz USER, a takođe i AVERAGE pa makar za ovo ne vidim ni razlog za postojanje tabela GILS'N'BOYS :-)

(... ne mora da znači da sam u pravu, nisi objasnio relacije, pa sam malo nagađao)
 
Odgovor na temu

bojan_bozovic

Član broj: 29028
Poruke: 3292
*.pat-pool.le.sbb.co.yu.

Sajt: angelstudio.org


+392 Profil

icon Re: Evaluiranje immena tabele iz SQL upita18.11.2005. u 21:24 - pre 223 meseci
Jedno pitanje, s obzirom da sam tabelu GENDER dodao upravo zato da ne bih imao pol korisnika kao tinyint(1), ako ovo ne moze da se uradi, GIRLS i BOYS tabele trebaju da drze glasove (Am I hot or not skripta) V1-V10 i prosek za rangiranje, ako sve glasove prebacim u jednu tabelu, dakle GIRLS i BOYS odu u VOTES sa WHERE na polju pol u tabeli USER, nece biti problema sa performansama? trenutno imam 2-5 upita po stranici, i voleo bih to da smanjim, ako moze to da se poboljsa (treba i top lista za clanove po kategorijama, logovanje IP i cookie za pamcenje glasova i ja sam gotov)

Code:
CREATE TABLE USER(
UID INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(UID),
USERNAME varchar(16),
EMAIL varchar(32),
PASS varchar(16),
BIRTHDAY date,
SEX tinyint(1),
PHOTO tinyint(1),
NEWPHOTO tinyint(1),
WEBSITE varchar(255),
TEXT text,
ENABLED tinyint(1)
);

CREATE TABLE BOYS(
ID INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(ID),
USERID INT NOT NULL,
V10 integer DEFAULT 0,
V9 integer DEFAULT 0,
V8 integer DEFAULT 0 ,
V7 integer DEFAULT 0,
V6 integer DEFAULT 0,
V5 integer DEFAULT 0,
V4 integer DEFAULT 0,
V3 integer DEFAULT 0,
V2 integer DEFAULT 0,
V1 integer DEFAULT 0,
AVERAGE float(7,5) DEFAULT 0
);
CREATE TABLE GIRLS(
ID INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(ID),
USERID INT NOT NULL,
V10 integer DEFAULT 0,
V9 integer DEFAULT 0,
V8 integer DEFAULT 0 ,
V7 integer DEFAULT 0,
V6 integer DEFAULT 0,
V5 integer DEFAULT 0,
V4 integer DEFAULT 0,
V3 integer DEFAULT 0,
V2 integer DEFAULT 0,
V1 integer DEFAULT 0,
AVERAGE float(7,5) DEFAULT 0
);
CREATE TABLE IPLOG(
VOTEID INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(VOTEID),
IPV4 varchar(15),
USERID INT NOT NULL
);
CREATE TABLE TEMP(
TEMPID INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(TEMPID),
USERNAME varchar(16),
EMAIL varchar(32),
PASS varchar(16),
BIRTHDAY date,
SEX tinyint(1),
NEWPHOTO tinyint(1),
WEBSITE varchar(255),
TEXT text,
ENABLED tinyint(1) DEFAULT 0
);


Eto SQL.

PS: ENABLED=0 ja ban
PHOTO=0 je onemoguceno glasanje - korisnik je obrisao svoju sliku
NEWPHOTO=1 - korisnik je zamenio sliku novom (koju trebam da odobrim)
TEMP tabela je tu da se upisuju novi korisnici (dok ih ne odobrim)

Treba jos jedna tabela za komentare. mozda, ali to tek treba da uradim, kad bude vremena.

[Ovu poruku je menjao bojan_bozovic dana 18.11.2005. u 22:37 GMT+1]

[Ovu poruku je menjao bojan_bozovic dana 18.11.2005. u 22:37 GMT+1]
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+710 Profil

icon Re: Evaluiranje immena tabele iz SQL upita18.11.2005. u 21:44 - pre 223 meseci
Znači definitivno ti ne trebaju i GIRLS i BOYS, strpaj sve u jednu tabelu.
Takođe, polja V1..V10 bih izdvojio u posebnu tabelu VOTES (USERID, RATING, COUNT) - rating je ocena od 1 do 10, count broj glasova za tu ocenu za tu osobu.
 
Odgovor na temu

[es] :: MySQL :: Evaluiranje immena tabele iz SQL upita

[ Pregleda: 2887 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.