難しい問題ではないと思いますが、それを解決するテーマはありません。ダイナミックGROUP CONCAT with SUBQUERY
1 'DRIVER'ドライブ1 'TRUCK'を一度に表示する。 1 'TRUCK'は一度に複数の 'BOXS'を運ぶ。
シンプル1:
Select a.*,
(Select IDTRUCK From TRUCKS WHERE ACTUEL= true AND IDDRIVER=IDDRIVER) as IDTRUCK
From DRIVERS a;
結果:
IDDRIVER | NAMEDRIVER | IDTRUCK
-------------------------------
1 | Michel | 45
2 | Jean | 35
と(hereから取った)複雑な1:
SET @sql = NULL;
SELECT GROUP_CONCAT(DISTINCT
CONCAT(
'MAX(IF(`IDBOX` = ', `IDBOX`, ',WEIGHTBOX,NULL)) AS WEIGHTBOX', `IDBOX`)
) INTO @sql
FROM BOXS;
SET @sql = CONCAT('SELECT IDTRUCK, ', @sql, '
FROM BOXS WHERE IDTRUCK =
(Select IDTRUCK From TRUCKS WHERE ACTUEL= true AND IDDRIVER=IDDRIVER)
GROUP BY IDTRUCK');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
は、私は2つのクエリを持っています再SULT:
IDTRUCK | WEIGHTBOX1 | WEIGHTBOX2
-------------------------------
45 | 75.2 | 46.3
35 | 154 | 69.4
私は1つのテーブルでは、この二つの結果たい:
IDDRIVER | NAMEDRIVER | IDTRUCK | WEIGHTBOX1 | WEIGHTBOX2
---------------------------------------------------------
1 | Michel | 45 | 75.2 | 46.3
2 | Jean | 35 | 154 | 69.4
をしかし、私は、これらの2つのクエリが一緒に行くようにする方法を知りません。
私は仕事をすることができますが、成功することはできないと思います。
PS:私の非常に基本的な英語には申し訳ありません。
編集:Shadowによれば、左結合(here)でこれを行うことはできますが、それらを機能させるためには、どこにクエリのさまざまな部分を入れなければならないのでしょうか。これは理解の問題ではなく、構文の問題です。
あなたが重複したトピックを参照してください、複数のテーブルを結合する必要があります。 – Shadow
それは良い解決策かもしれませんが、私の例でそれを書く方法はわかりません。とにかくありがとう。 – Barrelsrider
**提案されたソリューションを**試しましたか?はいの場合、何を試しましたか、何が間違っていますか? – Shadow