Ich habe TableContacts:

ID Gender Person PhoneNumber
1  Male   Jhon   500000001
2  Male   Jhon   500000002
3  Male   Sam    500000003
4  Male   Sam    500000009

Ich würde Geschlecht, Person mit ID = 1 auswählen und alle John-Telefonnummern im selben Feld wie folgt verketten:

Gender Person PhoneNumbrSSS
Male   John   500000001, 50000002

Vielen Dank

-1
Elyes Z 22 Feb. 2020 im 12:48

3 Antworten

Beste Antwort

Verwenden Sie eine Abfrage, um Person mit id = 1 zurückzugeben und dann mit group_concat() die Telefonnummern der Person abzurufen:

select Gender, Person, 
  group_concat(PhoneNumber) PhoneNumbrSSS
from TableContacts
where Person = (select Person from TableContacts where id = 1)
group by Gender, Person

Siehe die Demo.
Ergebnisse:

| Gender | Person | PhoneNumbrSSS       |
| ------ | ------ | ------------------- |
| Male   | Jhon   | 500000001,500000002 |
0
forpas 22 Feb. 2020 im 14:25

Sie können die Funktion GROUP_CONCAT verwenden

SELECT Gender, Person, GROUP_CONCAT(PhoneNumber)
as "Phonenumber"  
from employee
where id=1
group by Gender, Person;
0
Jignesh Patel 22 Feb. 2020 im 10:41

Versuche dies.

SELECT a.Gender, a.Person, GROUP_CONCAT(a.PhoneNumber)
as "Phonenumber"  
from employee a inner join employee b
on a.Person = b.Person
where a.id=1
group by a.Gender, a.Person;
0
ArSeN 22 Feb. 2020 im 15:42