我正在使用SQLite。
我有这个问题:
SELECT Customer.contract_number,
Customer.name,
Customer.last,
Customer.phone,
Contrato.desc,
CASE Contract.sinc WHEN 1 THEN 'Sincro' ELSE 'NO sincro' END Status1,
CASE Customer.rev WHEN 1 THEN 'Rev' ELSE 'No rev' END Status2
FROM Customer,
Contract
WHERE Customer.contract_number = Contract.contract_number
UNION ALL
SELECT HandCo.contract_number,
HandCo.name,
HandCo.last,
HandCo.phone,
HandCo.des,
CASE HandCon.tradit WHEN 1 THEN 'Tradit' ELSE NULL END Status3
FROM HandContract;
我想将Status1的结果和Status2的结果合并在一列中。 我怎么做的?谢谢。
我正在使用UNION进行查询,这就是我想合并Case Funtion的原因。
感谢您的回复。
答案 0 :(得分:0)
您可以使用||连接字符串在sqllite。
SELECT Customer.contract_number, Customer.name, Customer.last, Customer.phone, Contract.desc,
CASE Contract.sinc WHEN 1 THEN 'Sincro' ELSE 'No sincro' END
||
CASE Customer.rev WHEN 1 THEN 'Rev' ELSE 'No Rev' END Status
FROM
Customer, Contract;
答案 1 :(得分:0)
也许是字符串连接?
SELECT cu.contract_number, cu.name, cu.last, cu.phone, co.desc,
((CASE co.sinc WHEN 1 THEN 'Sincro' ELSE 'No sincro' END) || '-' ||
(CASE cu.rev WHEN 1 THEN 'Rev' ELSE 'No Rev' END)
) as Status
FROM Customer cu JOIN
Contract co
ON co.?? = cu.??;
注意:我从,
子句中删除了FROM
。我真的怀疑这是这个查询的意图。您需要在JOIN
子句中放置正确的ON
条件,并使用适当的列名替换??
。