Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 3 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.04.11
Prihlásený: 14.08.14
Príspevky: 74
Témy: 31
Príspevok NapísalOffline : 18.03.2012 1:52

Zdravim,

pokusam sa dat dokopy komplikovany SELECT ale nedari sa mi to...

Mam taketo tabulky:

Kód:
CREATE TABLE firmy (
  id INT(11) NOT NULL AUTO_INCREMENT,
  publikovat VARCHAR(250) NOT NULL,
  nazov_sk TEXT NOT NULL,
  nazov_en TEXT NOT NULL,
  nazov_de TEXT NOT NULL,
  ulica VARCHAR(250) NOT NULL,
  mesto VARCHAR(250) NOT NULL,
  psc VARCHAR(250) NOT NULL,
  email VARCHAR(250) NOT NULL,
  login VARCHAR(250) NOT NULL,
  heslo VARCHAR(250) NOT NULL,
  telefon VARCHAR(250),
  mobil VARCHAR(250),
  fax VARCHAR(250),
  ico INT(11),
  ic_dph VARCHAR(250),
  dic VARCHAR(250),
  forma VARCHAR(250),
  obrazok VARCHAR(250) NOT NULL,
  web VARCHAR(250) NOT NULL,
  mapa TEXT,
  obsah_short_sk TEXT NOT NULL,
  obsah_short_en TEXT NOT NULL,
  obsah_short_de TEXT NOT NULL,
  obsah_sk TEXT NOT NULL,
  obsah_en TEXT NOT NULL,
  obsah_de TEXT NOT NULL,
  registracia DATETIME,
  zaplatene_od DATE,
  zaplatene_do DATE,
  nazov_url VARCHAR(250),
  aktualizacia DATETIME,
  PRIMARY KEY (id)
);

CREATE TABLE firmy_kraje_zoznam (
  id INT(11) NOT NULL AUTO_INCREMENT,
  publikovat VARCHAR(250) NOT NULL,
  nazov_sk VARCHAR(250) NOT NULL,
  nazov_en VARCHAR(250) NOT NULL,
  nazov_de VARCHAR(250) NOT NULL,
  obsah_sk TEXT,
  obsah_en TEXT,
  obsah_de TEXT,
  pozicia INT(10) NOT NULL,
  datum DATETIME,
  upravil INT(10),
  PRIMARY KEY (id)
);

CREATE TABLE firmy_okresy_zoznam(
  id INT(11) NOT NULL AUTO_INCREMENT,
  publikovat VARCHAR(250) NOT NULL,
  kraj INT(11) NOT NULL,
  nazov_sk VARCHAR(250) NOT NULL,
  nazov_en VARCHAR(250) NOT NULL,
  nazov_de VARCHAR(250) NOT NULL,
  obsah_sk TEXT,
  obsah_en TEXT,
  obsah_de TEXT,
  pozicia INT(10) NOT NULL,
  datum DATETIME,
  upravil INT(10),
  PRIMARY KEY (id)
);

CREATE TABLE firmy_okresy(
  id INT(11) NOT NULL AUTO_INCREMENT,
  firma INT(11) NOT NULL,
  okres INT(10) NOT NULL,
  PRIMARY KEY (id)
);

CREATE TABLE firmy_kategorie_hlavne (
  id INT(11) NOT NULL AUTO_INCREMENT,
  publikovat VARCHAR(250) NOT NULL,
  nazov_sk VARCHAR(250) NOT NULL,
  nazov_en VARCHAR(250) NOT NULL,
  nazov_de VARCHAR(250) NOT NULL,
  obsah_sk TEXT,
  obsah_en TEXT,
  obsah_de TEXT,
  pozicia INT(10) NOT NULL,
  datum DATETIME,
  upravil INT(10),
  PRIMARY KEY (id)
);

CREATE TABLE firmy_kategorie_zoznam (
  id INT(11) NOT NULL AUTO_INCREMENT,
  publikovat VARCHAR(250) NOT NULL,
  kat_1 INT(10) NOT NULL,
  nazov_sk VARCHAR(250) NOT NULL,
  nazov_en VARCHAR(250) NOT NULL,
  nazov_de VARCHAR(250) NOT NULL,
  obsah_sk TEXT,
  obsah_en TEXT,
  obsah_de TEXT,
  pozicia INT(10) NOT NULL,
  datum DATETIME,
  upravil INT(10),
  PRIMARY KEY (id)
);

CREATE TABLE firmy_kategorie(
  id INT(11) NOT NULL AUTO_INCREMENT,
  firma INT(11) NOT NULL,
  kategoria INT(10) NOT NULL,
  PRIMARY KEY (id)
);

CREATE TABLE firmy_kategorie_hl(
  id INT(11) NOT NULL AUTO_INCREMENT,
  firma INT(11) NOT NULL,
  kategoria INT(10) NOT NULL,
  PRIMARY KEY (id)
);


a takyto select:

Kód:
SELECT firmy.*
FROM firmy
LEFT JOIN firmy_okresy ON firmy_okresy.firma=firmy.id
JOIN firmy_okresy_zoznam ON firmy_okresy_zoznam.id=firmy_okresy.okres
JOIN firmy_kraje_zoznam ON firmy_kraje_zoznam.id=firmy_okresy_zoznam.kraj
WHERE firmy_okresy.okres='8' AND firmy_kraje_zoznam.id='2' AND firmy.publikovat='ano'
ORDER BY IF(firmy.zaplatene_do<NOW(),1,0), firmy.nazov_sk


toto mi funguje dobre. Mam vsak este takuto tabulku, v ktorej mam hlasy k jednotlivym firmam.

Kód:
CREATE TABLE firmy_hodnotenie(
  id INT NOT NULL AUTO_INCREMENT,
  kategoria INT(11) NOT NULL,
  firma_id INT(11) NOT NULL,
  user_id INT(11) NOT NULL,
  ip VARCHAR(250) NOT NULL,
  datum DATETIME NOT NULL,
  PRIMARY KEY(id)
);


Kategoria - 3 kategorie (1-kvalita, 2-cena, 3-pristup)

Do toho SELECTU potrebujem doplnit, aby mi to zoradovalo firmy aj podla hodnotenia - poctu hlasov.
Hlasovanie funguje na principe, ze USER_ID moze len raz hodnotit, ale do kazdej z troch kategorii. Celkovy pocet hlasov to vsak vypocitava podla GROUP BY user_id (ak user hodnoti 3x, do celkoveho poctu hlasov zarata len 1 hlas). Chcem to vsak zoradovat podla celkoveho poctu.
Snazil som sa tam pridat nieco na styl
Kód:
SELECT COUNT(*) FROM firmy_hodnotenie AS spolu GROUP BY firmy_hodnotenie.firma_id, firmy_hodnotenie.user_id... ORDER BY spolu...

ale nefunguje to... Neviem tam proste pridat ten COUNT pre konkretnu podmienku, aby to spravilo GROUP BY user_id z tej konkretnej tabulky...
Verim ze niekto bude vediet pomoct a pochopi co chcem :)


Offline

Správca fóra
Správca fóra
Komplikovany select

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 23.03.2012 8:47

ak som to spravne pochopil, malo by ti pomoct pridat do toho tvojho velkeho selectu polozku COUNT(DISTINCT firmy_hodnotenie.user_id) AS spolu, pridat join aj na firmy_hodnotenie a pred konecnym order by dat GROUP BY firmy.id, samozrejme, treba uviest "spolu" aj v order by, kedze to chces podla toho zoradovat







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.04.11
Prihlásený: 14.08.14
Príspevky: 74
Témy: 31
Príspevok Napísal autor témyOffline : 23.03.2012 16:52

ano presne ako vravis...


Odpovedať na tému [ Príspevkov: 3 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. mozno komplikovany hover

v JavaScript, VBScript, Ajax

4

615

21.10.2008 0:06

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Komplikovaný problém po výmene CPU

v AMD - Advanced Micro Devices

3

660

13.11.2007 13:37

KocuR Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. formular: presun <option> zo <select> do <select>

v JavaScript, VBScript, Ajax

2

745

28.09.2009 15:27

tomast7 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. select

v PHP, ASP

7

635

02.05.2008 13:53

mondzo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. select

v Databázy

8

498

16.03.2012 14:09

zdeniatqo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. SELECT

v Databázy

6

1398

31.08.2006 13:50

tRizzO Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Select

v HTML, XHTML, XML, CSS

3

403

13.09.2012 21:49

1daemon1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Multi select

v Databázy

1

291

30.05.2013 11:12

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. php select

v PHP, ASP

9

613

14.10.2008 9:24

B.A.X.O Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Select script

v JavaScript, VBScript, Ajax

14

620

06.08.2012 23:51

Vojko Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. zly select

v Databázy

2

620

07.07.2012 19:59

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. select nefunkcny

v Databázy

5

556

07.06.2010 14:08

MisakNo10 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Stromový select

v PHP, ASP

5

409

07.05.2009 19:08

Tominator Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. SELECT OPTION

v HTML, XHTML, XML, CSS

3

545

06.03.2009 14:34

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. SELECT DISTINCT

v Databázy

1

929

04.01.2009 19:24

rooobertek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Select option

v HTML, XHTML, XML, CSS

5

575

06.06.2017 10:12

hatto13 Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra