2013-12-04 2 views
-4

Это то, что я писал:кто может сказать мне, как писать SQL

$sql = "select * from tp_picture where (catid in(13,14,15,20) order by find_in_set(catid,'13,14,15,20')) order by listorder ASC"; 

первый, порядок по FIND_IN_SET (CatID, '13, 14,15,20'))

рядом, упорядочить по полю tp_picture listorder.

, который может сказать мне правильный SQL, думает.

+2

Этот парень очень хорошо - HTTP: // WWW .orafaq.com/wiki/Tom_Kyte – Phil

+0

Для чего этот продукт базы данных? СУРБД каждого поставщика отличается от стиля структурированного языка запросов. –

+0

@GreenstoneWalker Наличие 'find_in_set' указывает [tag: mysql]. Вопрос теперь помечен соответствующим образом – Phil

ответ

-2
$sql = "select 
       * 
     from 
       tp_picture 
     where 
       (catid in(13,14,15,20)) 
     order by 
       catid,listorder ASC"; 

попробовать этот

+0

Могу ли я узнать, почему голосует? –

+0

Я ИМЕЮ ЭТО ... уже ... –

0

Попробуйте это.

SELECT * FROM TP_PICTURE 
WHERE CAT_ID IN (13,14,15,20) AS 'CAT_ID' 
ORDER BY CAT_ID, LISTORDER ASC 
2

Если я правильно понял, что вы хотите, а затем попытаться сделать это таким образом

select * 
    from tp_picture 
where catid in(13, 14, 15, 20) 
order by (find_in_set(catid, 13, 14, 15, 20) > 0) DESC, listorder 
0
Please, follow below syntex : 
    select <column_name1, column_name2, ... > 
     from table_name where <condition> 
      order by <column_name1,...> 
------------------------------------------------------------ 
    $sql = "select * from tp_picture 
    where catid in(13,14,15,20) 
    order by catid , listorder ASC"; 
Смежные вопросы