|
|
|
| Доброго времени суток.
Делаю простой запрос
<?php
"SELECT * FROM table WHERE col1 LIKE '%some%' OR col2 LIKE '%some%'"
|
Можно ли сделать как-то так, чтобы сначала вытаскивались все строки, которые удовлетворяют col1 LIKE '%some%', и только когда таких строк не останеться, запрашивались бы col2 LIKE '%some%' ? | |
|
|
|
|
|
|
|
для: neadekvat
(30.01.2010 в 14:18)
| | может просто отсортировать как то так?
SELECT
*
FROM
`table`
WHERE
`col1` LIKE '%some%'
OR
`col2` LIKE '%some%'
ORDER BY (`col1` LIKE '%some%')
|
| |
|
|
|
|
|
|
|
для: а-я
(30.01.2010 в 14:38)
| | Увы, у меня выдает не в том порядке. То есть вперемешку. Причем, похоже, вообще без какой бы то ни было сортировки | |
|
|
|
|
|
|
|
для: neadekvat
(30.01.2010 в 14:49)
| | странно, но у меня все работает.. укажите DESC.
проверьте, может условия подходят для всех полей. | |
|
|
|
|
|
|
|
для: а-я
(30.01.2010 в 14:59)
| | Отлично! С DESC заработало, как надо.
Благодарю! Уже который раз выручаете) | |
|
|
|
|
|
|
|
для: neadekvat
(30.01.2010 в 14:49)
| |
SELECT *, col1 LIKE '%some%' AS p1, col2 LIKE '%some%' AS p2
FROM table
WHERE p1 OR p2
ORDER BY p1 DESC, p2 ASC
|
| |
|
|
|