JOIN
私はSQLの専門家ではなく、 MySQLが提供するすべての機能を試しました。
- 私は主に、オフセット付きの、
WHERE
を使用したview1からのデータが必要です(これらの条件がないとデータは正しくありません)。ORDER BY
LIMIT
- view1はview2によって制限されません
- データもview2からプルする必要がありますが、view2には独自の
WHERE
(または最良の)条件があります - view2には対応するデータがない可能性がありますが、view1にリンクせずに取得しないでください(
NULL
sは問題ありません!)
SELECT
私が思いついたハッシュではなく、私のために機能する2つを紹介します。
view1の場合:
SELECT * FROM view1
WHERE column1 IS NULL OR column1 = 1
ORDER BY dateColumn DESC LIMIT index1, count1;
(index1とcount1はストアドプロシージャにIN
使用されます)
view2の場合:
SELECT * FROM table2
WHERE column1 = ? AND table1_id IN (
SELECT id FROM view1
WHERE column1 IS NULL OR column1 = 1
ORDER BY dateColumn DESC LIMIT index1, count1
)
GROUP BY table1_id
(?は私が入れた任意の値です)
私は機知に富んでいます。この2つを融合する方法がわかりません。
詳細
IN
forはクエリview2
とほとんど同じであることに注意してください。view1
ありがとう!