[英]sql query to convert one column into two based on three different column values in a same table
[英]SQL query for two values of one row based off same table column
我希望基於SQL表中的同一列,而在報告的一行中有兩列。
例如,在報告中,它應該類似於:
ID | Reason | SubReason
1 | Did not like | Appearance
在SQL表中,它類似於:
ID | ReturnReason
1 | Did not like
1 | XX*SR*Appearance
1 | XX - TestData
1 | XX - TestData2
SubReason列是新添加的,當前的SQL查詢類似於:
SELECT ID, ReturnReason AS 'Reason'
FROM table
WHERE LEFT(ReturnReason,2) NOT IN ('XX')
現在,我想在SubReason的SELECT語句中添加一列,如果*SR*
在值中,則該值應為該值。 但是,這將不起作用,因為它的值中也帶有'XX'
,當前的WHERE
子句省略了該值。
SELECT t.ID, t.ReturnReason AS 'Reason',
SUBSTRING(t1.ReturnReason,7,10000) as 'SubReason '
FROM t
LEFT JOIN t as t1 on t.id=t1.id and t1.ReturnReason LIKE 'XX*SR*%'
WHERE t.ReturnReason NOT LIKE 'XX%'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.