max関数を使用してグループと内部結合を使用することにはいくつか問題があります。 私の詳細: 表インベントリgroubによるmax関数を使用したSQL内部結合
site_ID tank_number volume times-tramp ID
1 1 5000 06/08/2017 15:00 1
1 1 4900 06/08/2017 15:01 2
1 2 6000 06/08/2017 15:05 3
1 3 4000 06/08/2017 15:05 4
2 1 3000 06/08/2017 15:33 5
2 2 2000 06/08/2017 15:34 6
1 1 4800 06/08/2017 15:36 7
1 2 5800 06/08/2017 16:00 8
表のwp_users(ワードプレス)今
ID Name
1 aaa
2 bbbb
、私はワードプレスでwpdatatableプラグインを使用したので、私は参加して、グループtank_numberとし、データの更新を使用して、内側を使いたいですby times-strap 結果は次のようになります:
ユーザー "aaa"のログイン時にIDは1 の結果を表示します。
site_ID tank_number volume times-tramp
1 1 5000 06/08/2017 15:00
1 2 6000 06/08/2017 15:05
1 3 4000 06/08/2017 15:05
だから一人一人の助けが私は2台で参加することはできませんが原因でエラーを示す私のコードを表示していので、私に助言することができます。
site_ID tank_number volume times-tramp
1 1 4800 06/08/2017 15:36
1 2 5800 06/08/2017 16:00
1 3 4000 06/08/2017 15:05
しかし が、私はこの結果を得ました正しい構文sqlによって。インナーは
select site_id, tank_product, volume, timestramp from inventory as t1
inner join (
select tank_product as tank, max(timestramp) as time from inventory
where site_id=1 group by tank_product) as t2
on t1.tank_product = t2.tank and t1.timestramp = t2.time and t1.site_id=1
に参加して、今、私は内部で使用しようとして参加したが、今は動作しませなし
このコードが動作することができます。
SELECT inventory.site_id,
inventory.tank_product,
inventory.volume,
inventory.timestramp,
wp_users.ID
FROM inventory as t1
INNER JOIN wp_users
(SELECT inventory.tank_product, max(inventory.timestramp) as time from inventory
WHERE inventory.site_id=wp_users.ID GROUP BY inventory.tank_product) as t2
ON t1.inventory.tank_product=t2.tank AND t1.inventory.timestramp=t2.time AND t1.inventory.site_id=wp_users.ID
maxでグループ化された内部結合を使用する正しい方法についてアドバイスできます。
私は同じたいが、それと感謝you.The結果が原因に私のコードの最初でOKですコード内のu.IDを修正して動作させることができますが、wordpressの別のテーブルからuser.IDに参加しようとしています – Thebiggun31