|
|
|
| Добрый день.
имею запрос
$qstr = "SELECT b1.`id` AS id1,b2.`id` AS id2,b3.`id` AS id3,b4.`id` AS id4
FROM m_request b1
JOIN m_request b2 ON b2.codkt LIKE \"b1.spcodkt%\" AND b2.hidden=1
JOIN m_request b3 ON b3.codkt LIKE \"b2.spcodkt%\" AND b3.hidden=1
JOIN m_request b4 ON b4.spcodkt LIKE \"b1.codkt%\" AND b4.codkt = \"b3.spcodkt%\" AND b4.hidden=1
WHERE b1.`hidden`='1'";
|
Но он не работает =(
точнее не работают вот эти части
b1.spcodkt - это ячейка таблицы, из которой нужно взять данные и найти .... тоесть искомые данные должны быть в начале как данные из ячейки b1.spcodkt ... а конец их нам без разницы .... главное чтоб начало полностью совпало ... как это сделать? | |
|
|
|
|
|
|
|
для: m@rchello
(25.06.2009 в 21:25)
| | В порядке уменьшения предпочтения:
то, что Вы написали - ... | |
|
|
|
|
|
|
|
для: Trianon
(25.06.2009 в 22:05)
| | Если честно я не совсем понимаю всего этого =(
вообще изначально у меня был такой запрос
$qstr = "SELECT b1.`id` AS id1,b2.`id` AS id2,b3.`id` AS id3,b4.`id` AS id4
FROM m_request b1
JOIN m_request b2 ON b2.codkt = b1.spcodkt AND b2.hidden=1
JOIN m_request b3 ON b3.codkt = b2.spcodkt AND b3.hidden=1
JOIN m_request b4 ON b4.spcodkt = b1.codkt AND b4.codkt = b3.spcodkt AND b4.hidden=1
WHERE b1.`hidden`='1'"
|
Ищет строгие совпадения .... и ищет правельно
но появилась нужда искать ещё и такие совпадения
b2.codkt LIKE \"b1.spcodkt%\"
|
где допустим b2.codkt равен '123.123.345' а b1.spcodkt равен '123.123' | |
|
|
|
|
|
|
|
для: m@rchello
(25.06.2009 в 22:14)
| |
LEFT(b2.codkt, LENGTH(b1.spcodkt) = b1.spcodkt
|
Так понятно? | |
|
|
|
|
|
|
|
для: Trianon
(25.06.2009 в 22:32)
| | непонятно куда это вставить в запросе .... вы уж простите за такую "тупость" но действительно этого не знаю так как никогда не использовал .... JOIN то и тот 2 раз использую =(
покажите в моём запросе хотябы в одной строчке подробно как это должно выглядеть ... =( | |
|
|
|
|
|
|
|
для: m@rchello
(25.06.2009 в 22:42)
| |
JOIN m_request b2 ON LEFT(b2.codkt, LENGTH(b1.spcodkt) = b1.spcodkt AND b2.hidden=1
|
лентяй. | |
|
|
|
|
|
|
|
для: Trianon
(25.06.2009 в 22:53)
| | Спасибо. =) я не лентяй просто мне до утра надо всё доделать ... а время уже 2 часа ночи
у Вас наверное опечатка здесь
JOIN m_request b2 ON LEFT(b2.codkt, LENGTH(b1.spcodkt) = b1.spcodkt AND b2.hidden=1
|
должно быть предположил что так
JOIN m_request b2 ON LEFT(b2.codkt, LENGTH(b1.spcodkt)) = b1.spcodkt AND b2.hidden=1
|
| |
|
|
|
|
|
|
|
для: m@rchello
(25.06.2009 в 23:06)
| | ну должен же я был хоть что-то оставить Вам?
Иначе бы Вы и не почесались понять, как оно устроено, а тупо скопировали, как предыдущий вариант.
Чтоб внезапно и до утра возникло чудо непреодолимое убеждение в необходимости использовать запрос - Так не бывает. | |
|
|
|
|
|
|
|
для: Trianon
(25.06.2009 в 23:18)
| | Огромное спасибо ещё раз! Это верно. теперь то уж запомню!!! :|) | |
|
|
|