X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Не работает сложный SQL Запрос
gaaarfild
gaaarfild
Topic Starter сообщение 16.11.2010, 21:03; Ответить: gaaarfild
Сообщение #1


SELECT COUNT(a.id) FROM chu_logs AS a LEFT JOIN chu_users AS b ON (a.uid=b.id)
WHERE 1=1 AND ( a.`type` LIKE 'carbaseedit_upload_csv' AND a.`type` LIKE 'carbase_search_carnum' AND 1=1) AND (1=1 AND a.`uid`=58 AND a.`uid`=57 AND a.`uid`=53 AND a.`uid`=52) AND ( b.`company`=11 AND b.`company`=13 AND 1=1) AND (a.`date` BETWEEN 0 AND 2177280000)


Вторая таблица используется для поиска по компании, так как в первой она не указана.
В первой указан пользователь, для которого указана компания во второй таблице.

Если В скобках AND больше одного, то вытаскивает 0.

В чем моя ошибка?
Заранее спасибо.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gaaarfild
gaaarfild
Topic Starter сообщение 17.11.2010, 0:12; Ответить: gaaarfild
Сообщение #2


Все исправилось тем, что вместо AND в скобках выставил OR. Вот и вся математика. =)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 17.11.2010, 23:43; Ответить: ZiTosS
Сообщение #3


gaaarfild,
Взглянув на
b.`company`=11 AND b.`company`=13'
сразу становится понятно в чем ошибка. Не может одно и тоже поле в одной и тойже записи иметь сразу два значения.
И объясни мне, зачем тебе условие 1=1? Это же эквивалент без условия.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gaaarfild
gaaarfild
Topic Starter сообщение 18.11.2010, 4:41; Ответить: gaaarfild
Сообщение #4


Это потому, что у меня запрос генерируется и в конце, после OR нужна заглушка. Ну или вначале перед. =)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 18.11.2010, 11:34; Ответить: ZiTosS
Сообщение #5


gaaarfild, никак не пойму, что даёт тебе эта заглушка. Она всегда будет TRUE.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gaaarfild
gaaarfild
Topic Starter сообщение 18.11.2010, 11:41; Ответить: gaaarfild
Сообщение #6


Да. =)
Ну когда ты генерируешь условие циклом, тебе надо написать например так
[php]foreach($usl AS $value){
$where .= " product=".$value." OR ";
}[/php]
Когда у тебя закончится цикл, то условие у тебя будет заканчиваться на OR, а его же надо как-то закрыть, чтобы SQL запрос был корректен. В таком случае использую такую заглушку. Вот и все.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 18.11.2010, 12:00; Ответить: ZiTosS
Сообщение #7


gaaarfild, а кто тебе мешает делать с помощью implode :) ну или подобных ухищрений.
Можно этот OR вычищать в конце, или же проверять на последний элемент, если последний элемент в цикле, то OR не ставим
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gaaarfild
gaaarfild
Topic Starter сообщение 18.11.2010, 18:40; Ответить: gaaarfild
Сообщение #8


А так не проще? =)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 19.11.2010, 1:42; Ответить: ZiTosS
Сообщение #9


gaaarfild, ХЗ, кому как :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gaaarfild
gaaarfild
Topic Starter сообщение 19.11.2010, 4:11; Ответить: gaaarfild
Сообщение #10


Мне просто проще написать в конце 1=1 чем создавать Implode функцию или записывать функцию обрезки. =)
Чисто логически! =)

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Запрос на бесплатные полезности
7 Tia2 1958 23.3.2024, 11:27
автор: Alexand3r
Открытая тема (нет новых ответов) Крауд-маркетинг который работает | Эффективные Ру-ссылки
1 Azyuka 1051 13.2.2024, 19:36
автор: tascha56
Открытая тема (нет новых ответов) Кто работает с партнерской программой eBay?
0 Stalser 1175 14.12.2021, 12:26
автор: Stalser
Открытая тема (нет новых ответов) Кто работает с партнеркой Кликбанк?
4 metvekot 1722 5.12.2021, 22:32
автор: adamsadriane
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыБаза товаров (opencart) SQL 70к+ товаров
Инструменты для дома, строительное и производственное оборудование
5 getdump 5631 1.9.2021, 2:04
автор: WebSniper


 



RSS Текстовая версия Сейчас: 19.4.2024, 15:18
Дизайн