Как правильно написать этот MySQL запрос

S
На сайте с 10.08.2006
Offline
115
515

всем доброго,

есть следующий запрос (вариант ламера):

SELECT *

FROM `offers`

WHERE (

`brandid` =

SELECT `id`

FROM `brands`

WHERE `name` LIKE 'Canon'

)

AND (

LOWER( `name` ) LIKE '%powershot%'

OR LOWER( `desc` ) LIKE '%powershot%'

)

AND (

LOWER( `name` ) LIKE '%g10%'

OR LOWER( `desc` ) LIKE '%g10%'

)

Как его правильно написать, что бы он работал (там вроде join и т.п. нужно юзать, но как не знаю)

N
На сайте с 06.05.2007
Offline
419
#1

непонятно какой был смысл, но похоже так :


SELECT
*
FROM
`offers`
WHERE
`brandid`
IN (
SELECT
`id`
FROM
`brands`
WHERE
`name` = 'Canon'
)
AND (
LOWER(`name`) LIKE '%powershot%'
OR LOWER(`desc`) LIKE '%powershot%'
)
AND (
LOWER(`name`) LIKE '%g10%'
OR LOWER(`desc`) LIKE '%g10%'
)

спонсор форматирования кода бесплатная программа dbForge Studio

Явный джоин не нужен, алгоритм объединения сам появится.

Кнопка вызова админа ()

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий