私はテーブル1とテーブル2の2つのテーブルを持っています。 Table1には10フィールド、Table2には9フィールドがあります。両方のテーブル、すなわちAdateTimeに共通の列が1つあります。この列は、ユーザアクションのUNIXタイムスタンプを保存します。両方のテーブルのレコードを1つの結果として表示したいが、ソートはAdateTimeに従って行う必要があります。最近のアクションを最初に表示する必要があります。時には表1の最近の多くのアクションがありますが、表2のアクションはほとんどありません。逆も可能です。だから、私は単一のクエリを使用して両方のテーブルから結合結果セットをフェッチしたい。私はPHPのMySQLを使用しています。データベースクエリのヘルプが必要です
答えて
を試してみてください。だから何かのように
select col1,col2,col3,col4,col5,col6,col7,col8,col9,AdateTime
from
(
select col1,col2,col3,col4,col5,col6,col7,col8,col9,AdateTime from Table1
UNION ALL
select col1,col2,col3,col4,col5,col6,col7,col8,null as col9,AdateTime from Table2
) t
order by t.Adatetime desc;
ご返信ありがとうございます。あなたのソリューションを試してみましょう。異なる列数のテーブルでUnionを実行できますか? –
可能です。 Table1 selectからの列の数がTable2 selectからの列の数と一致するように、ダミー列を配置する必要があります。そのため、表2の選択肢には「col as as col9」があります。 –
おかげでトム、あなたのソリューションは動作しているようです。少数のレコードでテストするだけです。あなたの助けに感謝します。 –
は、私がインライン・ビューとUNION ALLを使用することになり
SELECT t1.*, t2.*
FROM table1 t1 INNER JOIN table2 t2
ON t1.AdateTime = t2.AdateTime
ORDER BY t1.AdateTime
または
(テーブルが関連していない場合)SELECT * FROM
(SELECT ADateTime, col1, col2, col3, col4 FROM table1
UNION
SELECT ADateTime, col1, col2, 1 AS col3, NULL AS col4 FROM table2) t2
ORDER by ADateTime
あなたの返信に感謝します。私は、両方のテーブルで列の数が同じ場合にUNIONが可能であることを読んでいます。本当ですか?この場合、列の数が異なるためです。どうもありがとう 。 –
@NareshChauhan:そうです。列が異なる場合は、私の編集した答えをお読みください:) – Marco
私はこのクエリを試しましたが、それは#1248を示しています - すべての派生テーブルはphpMyadminで独自のエイリアスエラーを持つ必要があります。何か案が?迅速なお返事をありがとう。 –
はいそれを行うことができます。これらの2つのテーブルを結合条件で結合するだけで済みます。結合条件が行と一致する場合、その行のみが表示されます。さらに、操作のためにコードを記述することができます。 AdateTimeによる注文を使用する
select t1.column_1234,t2.column_1234
from t1 table1 , t2 table2
where t1.matching_column = t2.matching_column
order by t1.AdateTime;
t1.matching_column And t2.matching_column are the Primary And Foreign keys for these tables (Matching Column)
- 1. MS Accessデータベースクエリのヘルプが必要
- 2. imacroヘルプが必要です
- 3. ヘルプが必要です!
- 4. QuantLib:Garchヘルプが必要です
- 5. JavaScriptヘルプが必要
- 6. LINQTOSQLヘルプが必要
- 7. ISBLANKヘルプが必要
- 8. PHP OOPでヘルプが必要
- 9. NSDecimalNumberでヘルプが必要
- 10. OracleでREGEXヘルプが必要
- 11. フラグメント(Android)でヘルプが必要
- 12. SQLクエリでヘルプが必要
- 13. mysqlクエリのヘルプが必要
- 14. Excelのヘルプが必要
- 15. 図面のヘルプが必要
- 16. THREE.js TextGeometryのヘルプが必要
- 17. 参加のヘルプが必要
- 18. JQGridのヘルプが必要
- 19. SQLiteデータベースのヘルプが必要
- 20. React Jsのヘルプが必要
- 21. Bashスクリプトのヘルプが必要
- 22. JavaScriptタイマーのヘルプが必要
- 23. STLソートアルゴリズムのヘルプが必要
- 24. Webサービスのヘルプが必要
- 25. SQLiteクエリーのヘルプが必要
- 26. strlenのヘルプが必要
- 27. update_attributesのヘルプが必要
- 28. アプリケーションアップデートのヘルプが必要
- 29. Androidウェブサービスのヘルプが必要
- 30. xpathクエリのヘルプが必要
Table1とTable2のすべての行、または一致するAdatetime値を持つ行だけを使用しますか? –
こんにちはTom、あなたの投稿に感謝します。はい、両方のテーブルのすべての行が必要です。つまり、table1に最近のレコードクエリがある場合はtable2 nullレコードがフェッチされ、table2に最近のレコードクエリがある場合はtable1 nullレコードがフェッチされます。最近の時間に合わせてこの結果セットを注文したい。私たちは両方のテーブルに共通のフィールドADateTimeを持っています –