powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Не выбирает при нескольких условиях
27 сообщений из 27, показаны все 2 страниц
Не выбирает при нескольких условиях
    #39066220
HbIXA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запрос

Код: sql
1.
SELECT * FROM table 1b LEFT JOIN table2 p ON b.id=p.id_board WHERE (p.id_parametr = 1 AND p.value_parametr = 'Audi') AND (p.id_parametr = 3 AND p.value_parametr = '200') GROUP BY b.title



Структура table2
Код: plaintext
1.
2.
3.
4.
5.
6.
 id_board    value parametr          id_parametr           
 --------------------------------------------------

1              | Audi                           | 1 |        
1              | 200                            | 3 |        
 --------------------------------------------------

Структура table1
Код: plaintext
1.
2.
3.
4.
 id
 ----
| 1 |               
 ----

Почему ничего не выводит? Смена на OR не устраивает.
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066244
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HbIXA
Код: sql
1.
... LEFT JOIN table2 p ... WHERE (p.id_parametr = 1 ...

Вот за каким хреном тут ЛЕВОЕ связывание?

HbIXAПочему ничего не выводит?
Тыкни пальцем в ОДНУ ЗАПИСЬ, для которой выполняются описанные тобой условия.

HbIXAСмена на OR не устраивает.
Обоснуй.
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066256
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> HbIXA
> Почему ничего не выводит?

Упрости свой запрос до такого
Код: sql
1.
2.
3.
4.
5.
SELECT * FROM table2 p
WHERE 
    p.id_parametr = 1 
      AND 
    p.id_parametr = 3

, может станет понятнее.
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066462
HbIXA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaHbIXA
Код: sql
1.
... LEFT JOIN table2 p ... WHERE (p.id_parametr = 1 ...

Вот за каким хреном тут ЛЕВОЕ связывание?

HbIXAПочему ничего не выводит?
Тыкни пальцем в ОДНУ ЗАПИСЬ, для которой выполняются описанные тобой условия.

HbIXAСмена на OR не устраивает.
Обоснуй.

Опустим мой запрос. Нет его.

В одной таблице объявление, в другой параметры объявления. Каждый параметр в отдельной записи. То есть мне нужно, чтобы можно было выбирать и ауди без модели, и ауди с моделью. Если сделать OR то, могут выбираться все модели ауди, что не правильно.
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066597
HbIXA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скукотища> HbIXA
> Почему ничего не выводит?

Упрости свой запрос до такого
Код: sql
1.
2.
3.
4.
5.
SELECT * FROM table2 p
WHERE 
    p.id_parametr = 1 
      AND 
    p.id_parametr = 3

, может станет понятнее.

Упростил для вас

SELECT * FROM table2 p
WHERE
p.id_parametr = 1 and p.value_parametr = 'Audi'
AND
p.id_parametr = 3 and p.value_parametr = 200
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066605
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HbIXA,

ну и? ничего странного не видите?
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066606
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HbIXA
Код: sql
1.
2.
3.
4.
5.
SELECT * FROM table2 p
WHERE 
    p.id_parametr = 1 
      AND 
    p.id_parametr = 3


тебя ж , как кошака , носом по калу ...
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066607
HbIXA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, ни одна запись не подходит условиям, поэтому прочитайте выше пожалуйста. Мне нужно, чтобы из первой таблицы выводилась эта первая запись которая имеет параметры именно такие
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066611
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
 p.id_parametr = 1 
      AND 
    p.id_parametr = 3


таким требованиям ни одна запись никогда, ни у кого не удовлетворяет
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066613
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HbIXA
ты ваще про логические операторы что-нибудь читал?
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066618
HbIXA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То что я упростил, я уже давно понимал, я написал запрос, чтобы донести мысль. Программирую не первый год, так что отбросьте болтавню лучше помогите делом.

авторОпустим мой запрос. Нет его!

В одной таблице объявление, в другой параметры объявления. Каждый параметр в отдельной записи. То есть мне нужно, чтобы можно было выбирать и ауди без модели, и ауди с моделью. Если сделать OR то, могут выбираться все модели ауди, что не правильно.
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066628
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
???
Код: sql
1.
2.
3.
4.
5.
SELECT * FROM table2 p
WHERE 
    (p.id_parametr = 1 
      or
    p.id_parametr = 3) AND ...
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066698
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HbIXA , да тебя уже задолбались тыкать носом...
вадя
Код: sql
1.
2.
3.
 p.id_parametr = 1 
      AND 
    p.id_parametr = 3


таким требованиям ни одна запись никогда, ни у кого не удовлетворяет
Перевожу на русский ещё раз - значение поля ОДНОЙ записи не может быть ОДНОВРЕМЕННО равно и единице, и тройке.
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066713
HbIXA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя???
Код: sql
1.
2.
3.
4.
5.
SELECT * FROM table2 p
WHERE 
    (p.id_parametr = 1 
      or
    p.id_parametr = 3) AND ...



ДА ПРИЧЕМ ТУТ ЭТО Я ПРОШУ ПОМОЧЬ НАПИСАТЬ ДРУГОЙ ЗАПРОС КОТОРЫЙ БУДЕТ ВЫПОЛНЯТЬ ТО ЧТО Я ОПИСАЛ ВЫШЕ!
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066718
HbIXA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Третий раз повторяю

Опустим мой запрос. Нет его!

авторВ одной таблице объявление, в другой параметры объявления. Каждый параметр в отдельной записи. То есть мне нужно, чтобы можно было выбирать и ауди без модели, и ауди с моделью. Если сделать OR то, могут выбираться все модели ауди, что не правильно.

Как это сделать не глядя на мой запрос???
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066724
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дай ddl таблиц
дай содержимое этих таблиц (в виде insert .....)
результат который ты хочешь получить
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066732
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HbIXA,

table2
id_board value parametr id_parametr

назначение этих полей опишите
я так понимаю
id_parametr - =1 это марка (Ауди, VW, BMW)
id_parametr = 3 это модель (Ауди - 80, 100 ... )
и , это у вас иерархическая таблица параметров?

надо теперь додумывать...
- а где связь, что 100 - это для Ауди
- что это id_board
- table1 -это что за таблица

в двух словах опишите таблицы...
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066741
HbIXA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
CREATE TABLE IF NOT EXISTS `sw_board_parametr` (
  `id` int(11) NOT NULL,
  `id_board` int(11) NOT NULL DEFAULT '0',
  `id_parametr` int(11) NOT NULL DEFAULT '0',
  `value_parametr` varchar(40) NOT NULL DEFAULT ''
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;

INSERT INTO `sw_board_parametr` (`id`, `id_board`, `id_parametr`, `value_parametr`) VALUES
(1, 1, 1, 'Audi'),
(2, 2, 1, 'Audi'),
(3, 2, 2, '2014'),
(4, 2, 3, '200'),
(5, 2, 5, 'Вариатор'),
(6, 2, 6, 'Газ'),
(7, 2, 7, '4WD'),
(8, 2, 8, 'Микроавтобус'),
(9, 3, 1, 'BMW'),
(10, 3, 2, '2014'),
(11, 3, 3, '1-Series'),
(12, 3, 5, 'Автомат'),
(13, 3, 6, 'Газ'),
(14, 3, 7, '4WD');
ALTER TABLE `sw_board_parametr`
  ADD PRIMARY KEY (`id`);



Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

CREATE TABLE IF NOT EXISTS `sw_board` (
  `id` int(11) NOT NULL,
  `title` varchar(300) NOT NULL,
  `phone` varchar(11) NOT NULL DEFAULT '',
  `email` varchar(50) NOT NULL DEFAULT '',
  `notice` smallint(1) NOT NULL DEFAULT '0',
  `region_id` mediumint(8) NOT NULL DEFAULT '0',
  `cat_id` mediumint(8) NOT NULL DEFAULT '0',
  `subcat_id` mediumint(8) NOT NULL DEFAULT '0',
  `rubric_id` mediumint(8) NOT NULL DEFAULT '0',
  `text_option` text NOT NULL,
  `price` mediumint(8) NOT NULL DEFAULT '0',
  `pacing_day` smallint(2) NOT NULL DEFAULT '0',
  `date_post` int(10) NOT NULL DEFAULT '0',
  `photo` text NOT NULL,
  `comments` smallint(1) NOT NULL DEFAULT '0'
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

INSERT INTO `sw_board` (`id`, `title`, `phone`, `email`, `notice`, `region_id`, `cat_id`, `subcat_id`, `rubric_id`, `text_option`, `price`, `pacing_day`, `date_post`, `photo`, `comments`) VALUES
(1, 'Продам audi', '9174946173', 'hbixa@mail.ru', 1, 0, 1, 2, 9, '', 1000000, 3, 1443608714, '', 1),
(2, 'Продам audi 2', '9174946173', 'hbixa@mail.ru', 1, 0, 1, 2, 9, '', 1000000, 3, 1443608765, '', 1),
(3, 'Продам BMW', '9174946173', 'hbixa@mail.ru', 1, 0, 1, 2, 0, '', 1000000, 3, 1443610961, '', 1);

ALTER TABLE `sw_board`
  ADD PRIMARY KEY (`id`);



Вывести должно "Продам audi 2", параметров может быть много, генерацию я сам сделаю
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066797
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВывести должно "Продам audi 2", параметров может быть много, генерацию я сам сделаю
?????
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066811
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяавторВывести должно "Продам audi 2", параметров может быть много, генерацию я сам сделаю
?????!!!!!
Код: sql
1.
select title from sw_board where id=2
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066821
HbIXA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть фильтр, выдающий список

Например
Марка выбираем - audi
Модель - 200

то есть первый параметр марка id_parametr = 1 со значением value_parametr = Audi
и второй параметр модель id_parametr = 3 со значением value_parametr = 200

и должно выдать продам ауди 2
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066919
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SELECT
  sw_board_parametr.id_board,
  sw_board.title
FROM (SELECT
    sw_board_parametr.id_board
  FROM sw_board_parametr
  WHERE sw_board_parametr.value_parametr = 'audi') sw_board_parametr
  INNER JOIN (SELECT
      sw_board_parametr.id_board
    FROM sw_board_parametr
    WHERE sw_board_parametr.value_parametr = 200) sw_board_parametr_1
    ON sw_board_parametr.id_board = sw_board_parametr_1.id_board
  INNER JOIN sw_board
    ON sw_board_parametr.id_board = sw_board.id 
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066926
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HbIXA,

т.е. должна выбираться строка с максимальным совпадениям параметров...?
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066952
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
либо так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SELECT
  sw_board.title
FROM sw_board
  INNER JOIN (SELECT
      sw_board_parametr.id_board
    FROM sw_board_parametr
    WHERE sw_board_parametr.value_parametr = 'audi') d1
    ON sw_board.id = d1.id_board
  INNER JOIN (SELECT
      sw_board_parametr.id_board
    FROM sw_board_parametr
    WHERE sw_board_parametr.value_parametr = '200') d2
    ON sw_board.id = d2.id_board
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39066957
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
второй вариант предпочтительней, позволит просто строить запрос при добавлении новых условий
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39067013
HbIXA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя, огромное спасибо
...
Рейтинг: 0 / 0
Не выбирает при нескольких условиях
    #39067015
HbIXA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я как раз второй и взял, сделал уже все, генерирует
...
Рейтинг: 0 / 0
27 сообщений из 27, показаны все 2 страниц
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Не выбирает при нескольких условиях
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]