2012-04-04 6 views
1

Ich habe in den folgenden TabellenMySQL Wie vervollständige ich diese Select Concat?

http://sqlfiddle.com/#!2/647e9

Wie wähle ich concat als

gewünschten Ergebnisse gefolgt anzuzeigen:

+---------+-----------+---------------+---------------------------------+ 
| Origin | Stock  | Farm Title |   Farm Values   | 
+---------+-----------+---------------+---------------------------------+ 
| US  | P1  | Perdue  |        333 | 
| US  | P3  | Holstein  |        825 | 
| CA  | Q4  | FarmOne  |   455,536,617,698,779,860 | 
| CA  | Q4  | Beef Farm  |   540,550,560,570,580,590 | 
| CA  | Q4  | CattleOne  | 1080,1100,1120,1140,1160,1180 | 
| MX  | B3  | Cow Mill  |        11 | 
| MX  | B3  | Dotterers  |        98 | 
| MX  | B3  | AgriZone  |        202 | 
+---------+-----------+---------------+---------------------------------+ 

Ich versuchte

Select 
ORIGIN_NAME 
STOCK_TITLE 
FARM_TITLE 
concat(FARM_VALUES, ",") 

From Farm f 
JOIN STOCK s on S.S_ID=f.S_ID 
JOIN ORIGIN o on o.ORI_ID=s.ORI_ID 
+0

was zwei Felder concating Sie und was tun sie aussehen ? –

+0

@RPM die Tabellen finden Sie hier http://sqlfiddle.com/#!2/647e9 Ich versuche nur, (Komma getrennt) jeden Wert für den bestimmten Farmtitel zu conatzieren – stackoverflow

+0

Sie müssen Ihren Beitrag bearbeiten, um die Tabelle bereitzustellen Infos hier. Die Veröffentlichung auf einer externen Site ist im Allgemeinen nicht akzeptabel. Erstens müssen die Leute diese Seite verlassen, um Ihre Frage zu lesen. Zweitens macht es Ihre Frage (und alle Antworten) bedeutungslos, wenn diese externe Seite nicht verfügbar ist oder in Zukunft verschwindet. Und schließlich ist es nicht von zukünftigen Benutzern durchsuchbar. Bitte bearbeiten Sie Ihren Beitrag, um die Informationen hier (und überprüfen Sie die [FAQ] (http://stackoverflow.com/faq) in Bezug auf Ihre Fragen und Antworten selbst. Danke. :) –

Antwort

4

Die Daten sind ein bisschen anders in der Geige, so dass die Ergebnisse nicht ganz richtig, aber dies scheint zu sein, was Sie gehen für:

select origin_name, stock_title, farm_title, group_concat(FARM_COMPONENETS) from ORIGIN o 
inner join STOCK s on o.ORIGIN_ID = s.ORIGIN_ID 
inner join FARM f on s.stock_id = f.stock_id 
inner join gate g on f.farm_id = g.farm_id 
group by origin_name, stock_title, farm_title 
+0

Relevante Dokumentation: ['GROUP_CONCAT'] (http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html# Funktionsgruppen-Concat). Es verkettet alle Werte mit einem Komma-Trennzeichen innerhalb jeder Ebene Ihrer 'GROUP BY'-Variablen. –