比方说,我有一个表,其列如下:'text'
,'id'
,所以我想选择所有ID为1的列,而我想限制ID为1的所有列。空。
SELECT text, id FROM table_name WHERE id = 1 ..LIMIT 2 WHERE id = null ? ..
我认为我必须以某种方式使用第二个查询,但是我不知道该怎么做?
SELECT text, id FROM table_name
INNER JOIN (SELECT text, id WHERE id = NULL LIMIT 2) as second ON .. on what
should I join them ? .. WHERE id = 1
如何选择ID为1的所有列并限制ID为null的列?
我想选择ID为1的所有行,并仅选择ID为null的2行。
答案 0 :(得分:0)
如果您使用CTE,则应该能够将返回的结果限制在该CTE(公用表表达式)之内
WITH limit AS
(
SELECT id, text FROM table_name WHERE id IS NULL
LIMIT 2
)
SELECT id, text FROM table_name WHERE is = 1
UNION ALL
SELECT * FROM limit;
答案 1 :(得分:0)
你想要一个工会。
SELECT text, id FROM table_name WHERE id = 1
UNION ALL
(SELECT text, id FROM table_name WHERE id is null LIMIT 2)
需要用括号将限制应用于整个联合,而不仅仅是第二选择。