2012-01-28 6 views
0

私は、MySQLのデータを以下ました:
SQL Dataグループ化クエリーデータ - MySQLの

(これはコメントデータである)、その後、私はucom_ucom_idによってグループにこれらのデータをしたい、それがこの

UCOM_ID | USER_ID | UCOM_DATE | UCOM_COMMENT | UCOM_TITLE | UCOM_UCOM_ID 
--------------------------------------------------------------------------- 
    7 | 2 | 2012-01-28 | xxx   | xxx  | 0 
    8 | 2 | 2012-01-28 | xxx   | xxx  | 7 
    12 | 2 | 2012-01-28 | xxx   | xxx  | 7 
    9 | 2 | 2012-01-28 | xxx   | xxx  | 0 
    13 | 2 | 2012-01-28 | xxx   | xxx  | 9 
のようになります

どれがUCOM_UCOM_ID = 0, is first commentif UCOM_UCOM_ID = one of UCOM_IDの場合、最初のコメントからコメントです。
私はこのようにPHPでビューを作成したいと思います:
、上記の結果を得るために、または私は、クエリを使用せずに何かを行う必要がありますMySQLでどのようなクエリ

[UCOM_ID] 7, [UCOM_COMMENT] xxx 
      [UCOM_ID] 8, [UCOM_COMMENT] xxx 
      [UCOM_ID] 12, [UCOM_COMMENT] xxx 

[UCOM_ID] 9, [UCOM_COMMENT] xxx 
      [UCOM_ID] 13, [UCOM_COMMENT] xxx 

。?
多くのありがとうございます。

+0

使用グループをすることによって 'ucom_ucom_id' .. **注:**あなたがUCOM_ID''のように実行不可能にグループ化する任意の列を削除する必要があります。 – jjj

+0

@jjj、申し訳ありません私はまだ理解していません、もっと具体的に教えてください。私はこの 'SELECT * FROM user_comments group by ucom_ucom_id'を試しましたが、結果は3行だけです([UCOM_ID] 7,8,13) – Praditha

+1

GROUP BYを使用しているときにSELECT *を使うことはできません。あなたがそれをしたら、あなたは本当にグループ化していません。つまり、*とGROUP BYは本質的に互換性がありません。 –

答えて

2

結果セットがどのように見えるかを正確に伝えるのはちょっと難しいです。私は、これはおそらく、あなたががやりたいだろうと思う:

SELECT y.UCOM_ID, y.UCOM_COMMENT 
FROM tablename x 
    LEFT JOIN tablename y 
     ON y.UCOM_UCOM_ID = x.UCOM_ID 
      OR 
      (y.UCOM_UCOM_ID = 0 
      AND 
      y.UCOM_ID = x.UCOM_ID) 
WHERE x.UCOM_UCOM_ID = 0 
+0

ああ、私はちょっと気付いた)a)... fixed –

関連する問題