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



 

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

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

3 страниц V   1 2 3 >
Открыть тему
Тема закрыта
> Sql запрос к prop
autotype
autotype
Topic Starter сообщение 9.9.2014, 12:21; Ответить: autotype
Сообщение #1


есть база к примеру

good | prop
-----------
1 |1
-----------
1 |2
-----------
2 |1
-----------
3 |2
 
нужно сделать запрос к prop с параметрами "1,2"
что бы вывело good "1"
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kamchatniyoleg
kamchatniyoleg
сообщение 9.9.2014, 14:08; Ответить: kamchatniyoleg
Сообщение #2


Не понял сути задачи

SELECT `good` WHERE `good` = 1, `prop` = 2

Или если запрос выбирает вот эту строку, а вам нужны все строки дополнительно где указан "good" в значении "1"?
--------------------------------------------------------------------
Или вот так нужно?

SELECT * FROM `lalala` WHERE `prop` IN ('1', '2')
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
autotype
autotype
Topic Starter сообщение 10.9.2014, 12:01; Ответить: autotype
Сообщение #3




--------------------------------------------------------------------
Или вот так нужно?



SELECT * FROM `lalala` WHERE `prop` IN ('1', '2')

Так точно не нужно, он выводит good 1,2,3


мне нужен такой запрос, что бы обратиться только к prop, и получить good 1
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kamchatniyoleg
kamchatniyoleg
сообщение 10.9.2014, 12:36; Ответить: kamchatniyoleg
Сообщение #4



SELECT * FROM `lalala` WHERE `prop` IN ('1', '2') LIMIT 1 ORDER BY `good` ASC

Я не пойму что вы хотите и для чего вам это. Опишите подробнее задачу. 
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
matroskin8
matroskin8
сообщение 10.9.2014, 13:03; Ответить: matroskin8
Сообщение #5


(кипятильник @ 10.9.2014, 15:01) *


мне нужен такой запрос, что бы обратиться только к prop, и получить good 1



Для этого нужно привязаться к какому-то уникальному значению, а в представленном примере таковых нет (ну а сервер, к счатью, не умеет читать мысли). По какому бы значению мы не обратились к prop (то ли 1, то ли 2), всегда будут выбраны несколько полей good: для prop = 1 это будет good 1 и 2, для prop 2, соответственно, good 1 и 3.
Добавьте для каждого поля уникальные значения (например, ID) и выбирайте по prop и ID.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
autotype
autotype
Topic Starter сообщение 10.9.2014, 17:37; Ответить: autotype
Сообщение #6


good - это ID Товара,
prop - это параметр товара

к примеру выбрав параметры по prop:1,2
мне нужно что бы высвечивало только тот товар который имеет эти значения тоесть good:1
(kamchatniyoleg @ 10.9.2014, 15:36) *








SELECT * FROM `lalala` WHERE `prop` IN ('1', '2') LIMIT 1 ORDER BY `good` ASC

Я не пойму что вы хотите и для чего вам это. Опишите подробнее задачу. 



Сообщение отредактировал кипятильник - 10.9.2014, 17:38
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kamchatniyoleg
kamchatniyoleg
сообщение 10.9.2014, 17:50; Ответить: kamchatniyoleg
Сообщение #7


Так тогда не пишите в базу по несколько строк с одинаковой ID товара. Пишите значения через запятую и потом используйте LIKE, по моему так правильнее будет.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
autotype
autotype
Topic Starter сообщение 10.9.2014, 18:02; Ответить: autotype
Сообщение #8


к сожалению не могу так
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
matroskin8
matroskin8
сообщение 10.9.2014, 19:01; Ответить: matroskin8
Сообщение #9


(кипятильник) *
к примеру выбрав параметры по prop:1,2 мне нужно что бы высвечивало только тот товар который имеет эти значения тоесть good:1

Для конкретного примера в первом сообщении:

SELECT * FROM goods WHERE prop IN ( 1, 2 ) GROUP BY good HAVING COUNT(good) > 1

Если нужно точное соответствие кол-ву параметров, тогда в выражении HAVING нужно передавать это кол-во, изменив оператор:

SELECT * FROM goods WHERE prop IN ( 1, 2 ) GROUP BY good HAVING COUNT(good) = 2

Но все же я бы задумался над изменением архитектуры БД.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kamchatniyoleg
kamchatniyoleg
сообщение 11.9.2014, 9:05; Ответить: kamchatniyoleg
Сообщение #10


[member=кипятильник],[member=matroskin8],  Полностью согласен с оратором выше. Архитектура БД не логична, на мой взгляд. На будущее вам будет проще сменить ее. Если у вас конечно эта таблица используется не в одном месте.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
3 страниц V   1 2 3 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Запрос на бесплатные полезности
7 Tia2 1836 23.3.2024, 11:27
автор: Alexand3r
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыБаза товаров (opencart) SQL 70к+ товаров
Инструменты для дома, строительное и производственное оборудование
5 getdump 5607 1.9.2021, 2:04
автор: WebSniper
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыWeb-разработка (C++/PHP/SQL/JS/Bootstrap). HighLoad проекты.
0 DF™ 1420 28.7.2020, 13:24
автор: DF™
Открытая тема (нет новых ответов) Web программирование на С/С++/PHP/MySQL/SQL, высоконагруженные проекты
Есть наработки в области бирж трафика, топов, тизеров, видео cj-тубов
4 DFService 3336 8.4.2020, 18:02
автор: DFService
Открытая тема (нет новых ответов) Куплю сайты, внутри темы подробный запрос
3 PticaKate 3622 12.11.2019, 16:22
автор: 0pium


 



RSS Текстовая версия Сейчас: 28.3.2024, 17:39
Дизайн