Jump to content
php.lv forumi

"Pirmo bilžu" izvilkšana


Zoom

Recommended Posts

Nezinu vai tas labākais un optimālākais veids, bet šādi var:

SELECT p.car_id, (SELECT p2.photo FROM car_photos p2 WHERE p2.car_id = p.car_id ORDER BY p2.id ASC LIMIT 1 ) as first_image
FROM car_photos p
GROUP BY p.car_id

 

Galvenais uzlikt indeksu car_id kolumnai.

Link to comment
Share on other sites

Visideālākais varints jau būtu pieglabāt bildes nosaukumu pašā auto tabulā.

vai paskatijies kada vinjam ir bilzju tabulas struktura? Zoom pat bija pacenties un smuki vinju uzzimeejis ...

Tava varijanta naktos likt tabulai klaat tik laucinjus cik bilzju ir .....

----

Zoom --> DB struktura tev ir pilniigi pareiza ;)

Risinajums ir vienkarsh pieliec klat velvienu kollonu /KARDINALITATE / ar tipu TINYIN

kur pie pirmas bildes pieglabasanas pieliec klaat 1 (pirma ) 0 (parejas)

-----

Vai arii vispar vari vinjas visas numureet , tas dos iespeju vinjas attelot taadaa secibaa kaadaa velesies & izvilk varesi ar parastu JOIN paliidzibu ...

----

P.S. + iesaku pieglabat arii bildes izmerus (WID/HEG)

Link to comment
Share on other sites

Nu - ja glabaa nevis nosaukumu, bet ID (kaa mainphoto_id) no bilzhu tabulas, Tad tas nepavisam nav nepareizs risinaajums.

 

Risinajums ir vienkarsh pieliec klat velvienu kollonu /KARDINALITATE / ar tipu TINYIN

kur pie pirmas bildes pieglabasanas pieliec klaat 1 (pirma ) 0 (parejas)

 

Vot tieshi shis no normalizaacijas viedoklja ir nepareizi. :)

Edited by andrisp
Link to comment
Share on other sites

Kāpēc tad nepareizi? Un ja nu vajadzēs no katra auto ņemt piemēram divas vai pamainīt kuru rādīt tikai kādam auto un citiem atstāt pa vecam?

Manuprāt ieviest lauku rādāma/nerādama ir tikai normāli.

Edited by mounkuls
Link to comment
Share on other sites

Nu tad ar starptabulām. :)

 

Bet vispār, protams, praktiskā ziņā "labāk" būs izmantot GreyWolf variantu. Mazāk problēmu.

 

PS. Bet vispār jau autors tieši lūdza tikai pirmo bildi.

Edited by andrisp
Link to comment
Share on other sites

  • 2 weeks later...

Kāpēc gan nevarētu vienkārši šādi?

 

SELECT auto_id,bildes_id FROM bildes GROUP BY auto_id

 

Protams, ja reiz vēlas pamainīt pirmo bildi, tad gan labāk izmanto mārča variantu.

Edited by crmind
Link to comment
Share on other sites

Tāpēc ka nav garantēts, ka katrā auto_id grupā tiks izvēlēts ieraksts ar mazāko id. Ierakstiem atgriežamajā selektē netiek pielietota nekāda īpaša kārtošāna. Jāpieņem, ka tie tiek atgriezti pilnīgā random kārtībā.

Link to comment
Share on other sites

nja, MySQL sako šajā ziņā - citas normālas DBVS izmestu kļūdas paziņojumu, mēģinot

SELECT auto_id,bildes_id FROM bildes GROUP BY auto_id

jo `bildes_id` nav grupas funkcija - būtu jālieto, piemēram, MAX(bildes_id)

MySQL vienkārši iebaro lietotājam random datus.

Link to comment
Share on other sites

×
×
  • Create New...