我不是 SQL 专家,我只是尝试了所有JOIN
MySQL 提供的服务。
- 我主要需要来自 view1 的数据,使用
WHERE
,ORDER BY
,LIMIT
带有偏移量(如果没有这些条件,数据是不正确的。) - view1 不受 view2 限制
- 数据也需要从 view2 中提取,但 view2 有它自己的
WHERE
(或任何最好的)条件 - view2 可能没有对应的数据,但不链接到 view1 就不能被抓取(
NULL
s 就好了!)
我只会给你两个SELECT
对我有用的,而不是我想出的哈希值。
对于视图1:
SELECT * FROM view1
WHERE column1 IS NULL OR column1 = 1
ORDER BY dateColumn DESC LIMIT index1, count1;
(index1 和 count1IN
用于存储过程)
对于视图2:
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
(?是我输入的任意值)
我无计可施。我不知道如何融合这两个。
细节
请注意,IN
forview2
几乎与view1
查询相同。谢谢!