Re: SQL dotaz

From: Kamil (sverak@csadbk.cz)
Date: 02. 09. 2003, 10:10 CEST


> Tedy abych se priznal tak z tohoto nejsem vubec moudry. Napadlo me jine
> reseni - nacist vysledny data do pole a to pak nasledne seradit. Asi to
> bude delsi, ale myslim, ze rychlejsi na reseni...

> Tedy abych se priznal tak z tohoto nejsem vubec moudry. Napadlo me jine
> reseni - nacist vysledny data do pole a to pak nasledne seradit. Asi to
> bude delsi, ale myslim, ze rychlejsi na reseni...

Tak me to nedalo a zkusil jsem to (mirne zjednoduseny) takze
tento vyraz me v MySQL funguje:

SELECT if(O.id_klienta=0,O.prijmeni,K.prijmeni) AS prijm
FROM klienti AS K RIGHT JOIN objednavky AS O ON K.id = O.id_klienta
ORDER BY prijm LIMIT 0, 30

A je to pro tyto tabulky:
# --------------------------------------------------------
CREATE TABLE klienti (
  id int(10) NOT NULL auto_increment,
  prijmeni varchar(20) NOT NULL default '',
  PRIMARY KEY  (id)
) TYPE=MyISAM;

INSERT INTO klienti VALUES (1, 'klaus');
INSERT INTO klienti VALUES (2, 'macek');

CREATE TABLE objednavky (
  id int(10) NOT NULL auto_increment,
  id_klienta int(10) NOT NULL default '0',
  prijmeni varchar(20) NOT NULL default '',
  PRIMARY KEY  (id),
  KEY id_obj (id_klienta)
) TYPE=MyISAM;

INSERT INTO objednavky VALUES (1, 0, 'sec');
INSERT INTO objednavky VALUES (2, 0, 'sverak');
INSERT INTO objednavky VALUES (3, 1, '');
INSERT INTO objednavky VALUES (4, 2, '');
# --------------------------------------------------------

takze tak.. timto se omlouvam za minulou mystifikaci.. (to mam z
toho, ze me to bylo zdechlo vyzkouset). Jo kdyz uz si tak kecam,
tak ta tabulka objednavky neni navrhnuta prilis stastne..


-- 
cao,
 Kamil 



This archive was generated by hypermail 2.1.3 : 02. 09. 2003, 10:09 CEST