Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sortowanie w zapytaniu SELECT IN
Forum PHP.pl > Forum > Bazy danych > MySQL
k1ller
Witajcie,

Uzywam Propela do pracy z MYSQL, ale moje pytanie jest odnosnie zpytania SQL

  1. SELECT * FROM document WHERE document_id IN (10562,10563,10500,10459,10541,10546,10560,10565,10548,10492);


Dokumenty posortowane sa niestety po document_id rosnaco a ja chce je miec dokladnie w takiej kolejnosci jak podalem w zapytaniu. Jak to osiagnac?

zapytanie Propelowe:

  1. <?php
  2. $c=new Criteria();
  3. $c->add(DocumentPeer::DOCUMENT_ID, $results_id_array, Criteria::IN);
  4. $objDocuments = DocumentPeer::doSelect($c);
  5. ?>
Indeo
  1. SELECT pole1,pole2,
  2. case
  3. WHEN document_id=10562 THEN 1
  4. WHEN document_id=10563 THEN 2
  5. WHEN document_id=10500 THEN 3
  6. ELSE 99999
  7. end AS indeo
  8.  
  9. FROM document WHERE document_id IN (10562,10563,10500,10459,10541,10546,10560,10565,10548,10492)
  10. ORDER BY indeo
  11. ;



Sekwencje WHEN ... THEN powtarza sie dla wszystkich wymaganych wartości. Pole1, pole2 to potrzebne Ci pola pobierane z tabeli.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.