Eu tenho uma tabela table1
como:
col1 col2
A1 A2
A1 B1
A1 B2
A2 A1
A2 B1
A2 B2
B1 A1
B1 A2
B1 B2
B2 A1
B2 A2
B2 B1
Eu preciso concatenar col1
e col2
de tal forma que seja classificado primeiro.
Resultado esperado:
col1 col2 ConcatResult
A1 A2 A1-A2
A1 B1 A1-B1
A1 B2 A1-B2
A2 A1 A1-A2
A2 B1 A2-B1
A2 B2 A2-B2
B1 A1 A1-B1
B1 A2 A2-B1
B1 B2 B1-B2
B2 A1 A1-B2
B2 A2 A2-B2
B2 B1 B1-B2
Mais um requisito: se possível, gostaria de selecionar a ConcatResult
coluna distinta de.
Você pode fazer
Resultado:
Para obter valores distintos do resultado concatenado
Resultado:
Aqui está a demonstração do SQLFiddle
Pode ser feito com
CASE
expressão.O MySQL também permite comparar representações binárias de strings com operadores
<
,>
e .=
Outra possibilidade éSTRCMP()
função.Resultado:
Para
DISTINCT
o caso, seria necessário excluircol1
ecol2
daSELECT
instrução:Resultado: