내 purchaseproduct 테이블을주고있다MySQL의 그룹 - CONCAT 잘못 출력을
+------------+------------+
| productids | quantities |
+------------+------------+
| 1,3,4,5 | 1,1,1,1 |
| 2,3,4,5 | 1,1,1,1 |
+------------+------------+
내가 아래에 같이 purchaseproduct 테이블
에서 productids에 따라 제품 이름을 얻으려면
productsid | productsname |
+------------+-----------------------------+
| 1 | Phone |
| 2 | Laptop |
| 3 | Charger |
| 4 | Earphone |
| 5 | Camera |
내 제품 테이블 필요하다.
Phone,Charger,Earphone,Camera (In row one)
Laptop,Charger,Earphone,Camera (In row two)
나는이 아래 문 및 다른 많은
select group_concat(p.productsname) from purchaseproducts as pp join products as p on find_in_set(p.productsid,pp.productids);
하지만 얻을 출력이
Phone,Charger,Earphone,Camera,Laptop,Charger,Earphone,Camera (All in one row)
어떻게 내가 원하는 출력을 달성 할 수있다? 시도
당신은 알고있다 왜이 질문을 물어? 왜냐하면 당신은 데이터베이스 디자인을 간과했기 때문입니다. 쉼표로 구분 된 값을 저장하는 것은 너무 나쁩니다! [** 데이터베이스 열에 구분 된 목록을 저장하는 것이 실제로 그렇게 나쁜 것입니까? **] (http://stackoverflow.com/questions/3653462/is-storing-a-delimited-list-in-a-database-column- ** 예 ** – 1000111
@ 1000111- 요구 사항은 다음과 같습니다. :( –
요구 사항을 변경하십시오. – Strawberry