Как я получаю только одно значение при выполнении этого запроса sql? - PullRequest
0 голосов
/ 11 июля 2020
• 1000 тогда он показывает мне только цену этого столбца, а не два других столбца.
select Small_price,Medium_price,Large_price
from New_Item
where Sub_Category='Sub' or Small_price='' or  Medium_price='' or Large_price='300'

В этом запросе, когда я ввожу large_price ='300' Я хочу, когда я его выполняю, он показывает мне только столбец large_price, а не два других из medium_price и small_price.

Кто-нибудь здесь, чтобы помочь?

Ответы [ 4 ]

1 голос
/ 11 июля 2020

Не знаю, понимаю ли я вопрос, но вы можете написать любой запрос SQL, указав только столбец, который вы хотите для набора результатов:

select Large_price
from New_Item
where Sub_Category='Sub' or Small_price='' or  Medium_price='' or Large_price='300'

Но, возможно, вы хотите сгенерировать динамическое масштабирование запрос или что-то, что вы можете объяснить лучше в вопросе.

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

https://www.tutorialspoint.com/sql/index.htm

И для C# кодировки:

Как мне улучшить свои знания в C#

0 голосов
/ 11 июля 2020

Запрос в том виде, как он у вас, мне не кажется очень разумным. Я не могу представить себе бизнес-лог c, в котором вы хотели бы, чтобы все записи со всеми этими условиями ИЛИ были структурированы таким образом. Вы получите много разных значений своих трех столбцов, и я не уверен в семантике результата.

Например, все, что вы знаете о строке результата с Large_price <> 300, это то, что другие цены = '' или Подкатегория ''. Не знаю, чем это может быть полезно.

0 голосов
/ 11 июля 2020

Используйте declare и set. Он создает переменную, так что ваши where и select могут иметь одинаковое значение по мере необходимости.

DECLARE @pricetype

SET @pricetype = 'large'

Затем используйте @pricetype в разделах select и where.

0 голосов
/ 11 июля 2020

Вы можете использовать оператор CASE..WHEN для чтения указанного столбца c в зависимости от вашего входного параметра. Здесь я предполагаю, что в этот SQL передаются три разных параметра, по одному для каждого типа цены. Однако только один из этих трех параметров будет иметь значение в любой момент времени.

select case when p_small_price is not null then , Small_price
when p_medium_price is not null then Medium_price
when p_large_price is not null then Large_price end as final_price
from New_Item
where Sub_Category='Sub' 
and (Small_price= p_small_price or  Medium_price= p_medium_price or Large_price= p_high_price)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...