請簡化我的問題的解釋,讓我們說,我做了一個小的SQL查詢,以便從三個表中選擇數據:PHP中使用LEFT時如何GROUP BY結果數組JOIN
SELECT blockTitre, ChampsType, ChampsNom
FROM form_builder
LEFT JOIN block_champs
ON formBuilderBId = blockId
RIGHT JOIN ajout_champs
ON ChampsId = formBuilderChId
和當我的var_dump結果我得到如下:
array (size=6)
0 =>
object(stdClass)[8]
public 'blockTitre' => string 'Misc' (length=4)
public 'ChampsType' => string 'submit' (length=6)
public 'ChampsNom' => string 'submit' (length=6)
1 =>
object(stdClass)[9]
public 'blockTitre' => string 'Misc' (length=4)
public 'ChampsType' => string 'hidden' (length=6)
public 'ChampsNom' => string 'page' (length=4)
2 =>
object(stdClass)[10]
public 'blockTitre' => string 'Information général' (length=21)
public 'ChampsType' => string 'text' (length=4)
public 'ChampsNom' => string 'email' (length=5)
3 =>
object(stdClass)[11]
public 'blockTitre' => string 'Information général' (length=21)
public 'ChampsType' => string 'text' (length=4)
public 'ChampsNom' => string 'prenom' (length=6)
4 =>
object(stdClass)[12]
public 'blockTitre' => string 'Information général' (length=21)
public 'ChampsType' => string 'text' (length=4)
public 'ChampsNom' => string 'age' (length=3)
5 =>
object(stdClass)[13]
public 'blockTitre' => string 'Misc' (length=4)
public 'ChampsType' => string 'text' (length=4)
public 'ChampsNom' => string 'nommm' (length=5)
我要的是blockTitre重新集結的結果。
我試過SQL語句GROUP BY
,但它只返回兩行(這是我認爲的邏輯)!
請大家掌握如何做,得到所有行按分組blockTitre?
預先感謝您。
編輯:
請我需要這樣的:你描述你的情況
0 =>
'blockTitre' => string 'Misc'
'ChampsType' => string 'submit'
'ChampsNom' => string 'submit'
'ChampsType' => string 'text'
'ChampsNom' => string 'nommm'
'ChampsType' => string 'hidden'
'ChampsNom' => string 'page'
1 =>
'blockTitre' => string 'Information général'
'ChampsType' => string 'text'
'ChampsNom' => string 'email'
'ChampsType' => string 'text'
'ChampsNom' => string 'prenom'
'ChampsType' => string 'text'
'ChampsNom' => string 'age'
是的但我不想只得到它看到的第一行,我需要所有的主題。請問可以嗎? –
如果你想要所有的行,不要使用「GROUP BY」。你爲什麼使用'GROUP BY'?你想讓你的結果集看起來像什麼? – Halcyon
請你能看到編輯?非常感謝你 –