2012-01-23 7 views
0

私はグループや何かを見逃してしまったと思います。基本的に追加する必要はありますが、どのようにすればよいですか?ここMySQLのクエリJOINが本当に参加していない

は私のクエリは、ここに

SELECT * FROM approved_business, business_stores, Real_Cash_Offers 
WHERE approved_business.id = business_stores.business_id 
    AND Real_Cash_Offers.storeid IN (business_stores.storeid) 
ORDER BY `approved_business`.`id` ASC 

である私が欲しいものを出力

1249 Jaggers Hair and Beauty 2012-01-22 19:11:05 1249 1 6139646071 112 Bridge Street Eltham 1 3095 Let Jagger Hair and Beauty set you up with the hot... 1372 1 50|5 2012-01-22 19:11:05 
1249 Jaggers Hair and Beauty 2012-01-22 19:11:05 1249 1 6139646071 112 Bridge Street Eltham 1 3095 Let Jagger Hair and Beauty set you up with the hot... 1372 1 100|10 2012-01-22 19:11:05 
1249 Jaggers Hair and Beauty 2012-01-22 19:11:05 1249 1 6139646071 112 Bridge Street Eltham 1 3095 Let Jagger Hair and Beauty set you up with the hot... 1372 1 250|30 2012-01-22 19:11:05 

1行のみがあるので、申し出が配列か何かになるようにすることですされています。

NEWコード

SELECT * FROM approved_business, business_stores, Real_Cash_Offers 
WHERE approved_business.id = business_stores.business_id 
    AND Real_Cash_Offers.business_id = approved_business.id 
    AND Real_Cash_Offers.storeid = business_stores.storeid 
ORDER BY `approved_business`.`id` DESC 

OUTPUT

id tradingname listed business_id storeid phone street suburb state postcode discription business_id storeid offer tstamp 
2582 Deeply Skin Medi Spa 2012-01-22 19:11:05 2582 1 0388224001 Suite 3 , 616 Park Rd Park Orchard 1 3114  2582 1 370|5 2012-01-22 19:11:05 
2582 Deeply Skin Medi Spa 2012-01-22 19:11:05 2582 1 0388224001 Suite 3 , 616 Park Rd Park Orchard 1 3114  2582 1 570|10 2012-01-22 19:11:05 
2582 Deeply Skin Medi Spa 2012-01-22 19:11:05 2582 1 0388224001 Suite 3 , 616 Park Rd Park Orchard 1 3114  2582 1 1570|15 2012-01-22 19:11:05 
+1

出力をどのように表示するかの例と、現在のSQL出力の​​列名を表示してください –

答えて

0

group_concat

試し登録しよう SQLコードのエラーを発見します
SELECT id, group_concat(offer) FROM approved_business, business_stores, Real_Cash_Offers 
WHERE approved_business.id = business_stores.business_id 
    AND Real_Cash_Offers.storeid IN (business_stores.storeid) 
GROUP BY id 
ORDER BY `approved_business`.`id` ASC 
0

GROUP_CONCAT()関数を使用して結果を1つの行に結合する必要があります。例えば

:あなたは、クエリの結果の行を越え連結しようとしている

SELECT GROUP_CONCAT(Real_Cash_Offers.offer) 
FROM ... 
0

。これはSQL(ANSI)標準の一部ではありませんが、DBMS固有の機能を使用してこれを実行できます。 GROUP_CONCATとなるMySQLの場合 - Can I concatenate multiple MySQL rows into one field?

SELECT business_stores.business_id, business_stores.store_id, GROUP_CONCAT(Real_Cash_Offers.offer) as offers 
FROM approved_business 
INNER JOIN business_stores 
    ON approved_business.id = business_stores.business_id 
INNER JOIN Real_Cash_Offers 
    ON Real_Cash_Offers.storeid = business_stores.storeid 
GROUP BY business_stores.business_id, business_stores.store_id 
ORDER BY `approved_business`.`id` ASC 
関連する問題