ガチ初心者です。
前提条件
使用しているのはMySQL
テーブルA,Bのコピーが格納されているテーブルCopyA,CopyBがある。
テーブルA,Bは自動更新される。
テーブルCopyA,Bは手動更新をしないと更新が行われない。
なので、現在はテーブルA,BとテーブルCopyA,Bの中身には差異(テーブルA,Bの方が数値が大きい)がある。
やっていること
①テーブルCopyA,CopyBからカラム1毎のカラムXのMAXの値を取得
②テーブルA,BのカラムXと①を比較
③テーブルA,BからカラムXが①以下のものを取得
④③を元にテーブルA,Bからカラム1,2,3,4を取得
やりたいこと
②で手詰まりになったので、上記②の方法が知りたい。
(ようは別テーブルから取得した値をもとに比較をして、出てきた結果を出力したい。)
SQL
1CREATE TABLE テーブルA,テーブルCopyA 2(カラム1(varchar)(主),カラム2(varchar),カラムX(datetime)) 3 4CREATE TABLE テーブルB,テーブルCopyB 5(カラム1(varchar)(主),カラム3(varchar),カラム4(varchar),カラムX(datetime)) 6 7現在の成果 8SELECT 9 テーブルA.カラム1, 10 テーブルA.カラム2, 11 テーブルB.カラム3, 12 テーブルB.カラム4 13FROM( 14 SELECT カラム1,MAX(カラムX) AS カラムX 15 FROM( 16 SELECT カラム1,カラムX 17 FROM テーブルCopyA 18 UNION ALL 19 SELECT カラム1,カラムX 20 FROM テーブルCopyB 21 )AS 別名1 22 GROUP BY カラム1 23)AS 別名2 24INNER JOIN テーブルA 25ON テーブルA.カラム1 = 別名2.カラム1 26RIGHT JOIN テーブルB 27ON テーブルB.カラム1 = テーブルA.カラム1;
現行のSQLを崩していただいてもかまいません。
質問に不備があるかと思いますので、指摘いただき次第追記していきます。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー