2015-05-28 2 views
-2

у меня есть MySQL имя таблицы tbl_branch:Как показать столбец MySQL, используя условия

br_id, br_name, br_loc, br_status, br_more, br_assco 

br_id = Int 
br_name varchar 
br_loc varchar 
br_status=varchar 
br_more = varchar // value 0 or 1 
br_assco = varchar // value 12,14,26,1,10,23 

Я хочу показать br_more и br_assco результат в запросе, если br_more значение равно нулю. Otherwisw будет показывать только br_id, br_name, br_loc, br_status. может ли кто-нибудь дать мне солн.

ответ

1

Я хочу показать br_more и br_assco результат в запросе, если br_more значение равно нулю. Otherwisw будет показывать br_id, br_name, br_loc, br_status только. может ли кто-нибудь дать мне солн.

так показать условное выраж для br_more значение равно нулю, может быть SOLN

SELECT t.br_id 
    , t.br_name 
    , t.br_loc 
    , t.br_status 
    , IF(t.br_more='0',t.br_more,'') 
    , IF(t.br_more='0',t.br_assco,'') 
    FROM mytable t 

EDIT

RE: "не работает Спенсера"

Это работает для меня. Прецедент.

CREATE TABLE mytable 
(br_id  INT 
, br_name VARCHAR(7) 
, br_loc VARCHAR(6) 
, br_status VARCHAR(9) 
, br_more VARCHAR(1) 
, br_assco VARCHAR(40) 
); 
INSERT INTO mytable VALUES (0,'0','0','0','0','12,14,26,1,10,23') ; 
INSERT INTO mytable VALUES (1,'1','1','1','1','12,14,26,1,10,23') ; 

возвращается Запрос:

br_id br_name br_loc br_status IF(t.br_more='0',t.br_more,'') IF(t.br_more='0',t.b 
------ ------- ------ --------- ------------------------------ ---------------------- 
    0 0  0  0   0        12,14,26,1,10,23 
    1 1  1  1 
+0

не работает spencer –

+1

Если вы можете предоставить фактическую спецификацию, например, пример возвращаемого набора результатов, кто-то может помочь вам. Пример «soln», представленный в этом ответе, удовлетворяет довольно неопределенной спецификации. – spencer7593

+0

После выполнения запроса перекодировать его в JSON данных: –

0

условного выбора: случай использования для проверки различных условий

SELECT col_1, col_2, 
CASE WHEN col_3 = 0 THEN col_3 
ELSE CASE WHEN col_3 = 1 THEN col_4 
ELSE col_6 END 
END AS 
FROM tbl; 

Пример

, если col_3 значение = 0 пут 0

el se поставить значение col 4 i.e 24,25

+0

Я путаюсь с вашим образцом plz использовать свои данные образца –

+0

фактический я не хочу печатать br_more, br_assco, если значение br_more равно 1 –

+0

это фиктивный код, mke изменения согласно вашему требованию – BhandariS

Смежные вопросы