powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Поиск по одному полю с разными значениями
4 сообщений из 4, страница 1 из 1
Поиск по одному полю с разными значениями
    #39395436
Dominus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте..
У меня есть таблицы product, field, field_item
к примеру в таблице есть поле name_field в нем
есть разные значения, например 727-kjeshboks - 12 шт. а 723-mehanicheskij-kodovyj - 6 шт. c общим id_product 12

запрос типа

SELECT * FROM field LEFT JOIN field_item ON field.id=field_item.id_field WHERE type=17 AND field.name_field IN ('727-kjeshboks','723-mehanicheskij-kodovyj') GROUP BY id_product

выводит все позиции которые есть в таблице field с первым и вторым значением то есть 12 шт

Вопрос!
Как сделать выборку так что б выводились общее ограничивающие значение 6 шт. то есть по меньшему количеству полей

Заранее благодарен за ответы!
...
Рейтинг: 0 / 0
Поиск по одному полю с разными значениями
    #39395453
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dominusто есть 12 шт
Не верю.

Dominusзапрос типа
Используйте тег SRC, форматирование и Кнопку "Просмотр". И для КАЖДОГО поля указывайте алиас таблицы.

DominusУ меня есть таблицы product, field, field_item
Разумнее было показать DDL. А таблица product так и вовсе не нужна, если судить по тексту...
...
Рейтинг: 0 / 0
Поиск по одному полю с разными значениями
    #39395486
Dominus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
SELECT * FROM field LEFT JOIN field_item ON field.id=field_item.id_field WHERE type=17 AND field.name_field IN ('727-kjeshboks','723-mehanicheskij-kodovyj') GROUP BY id_product




Таблица field
Код: sql
1.
2.
3.
4.
5.
6.
7.
+--------+---------------+--------------+-------------+
| id     | name_field                        |   type
+--------+---------------+--------------+-------------+
|  727  |  727-kjeshboks                    |   17     |
|  723  |  723-mehanicheskij-kodovyj |   17     |
|  827  |  827-jelektromagnitnyj         |   17     |
+--------+---------------+--------------+--------------+



Таблица field_item
Код: sql
1.
2.
3.
4.
5.
6.
7.
+--------+-------------+--------------+
| id      |  id_field        | id_product
+------+---------------+--------------+
|  72  |        727        |        12       |
|  73  |        723        |        12       |
|  79  |        827        |        12       |
+--------+---------------+------------+
...
Рейтинг: 0 / 0
Поиск по одному полю с разными значениями
    #39395579
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Единственным зримым решением в формате именно запроса вижу нумерацию записей в группе и отбор связыванием по равенству этих номеров (в дополнение ID продукта).

Считаю более разумным реализовать то же в формате хранимой процедуры, где сформировать два независимых курсора и фетчить их параллельно.

==============

Почему Вы отбираете по field.name_field, когда проще и, в общем, разумнее отбирать по field.id?

==============

Слово "форматирование" предполагало вот такое представление:
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT * 
FROM field 
LEFT JOIN field_item 
  ON field.id=field_item.id_field 
WHERE type=17 
  AND field.name_field IN ('727-kjeshboks','723-mehanicheskij-kodovyj') 
GROUP BY id_product


Под словом DDL понимается вывод SHOW CREATE TABLE tablename - при этом видны все параметры полей и индексов.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Поиск по одному полю с разными значениями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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