Ваше описание переводится как CROSS JOIN
:
SELECT a.col1, a.col2, a.col3, b.b_col1 -- unique column names
FROM tablea a
CROSS JOIN ( SELECT col1 AS b_col1 FROM tableb LIMIT 5 ) b;
-- WHERE a.col1 BETWEEN 1 AND 10; -- see below
... и LIMIT
для tableb
, как a_horse уже продемонстрировал. LIMIT
без ORDER BY
возвращает произвольные строки. Результат может меняться от одного исполнения к другому.
Для выбора случайных строк из tableb
:
...
CROSS JOIN ( SELECT col1 AS b_col1 FROM tableb <b>ORDER BY random()</b> LIMIT 5) b;
Если ваш стол большой , рассмотрите:
Пока ты ...
имеют 10 записей в ... таблице а
... добавленное условие WHERE
является избыточным или неправильным для получения 50 строк.
И хотя SQL это позволяет, редко имеет смысл иметь несколько столбцов результатов с одним и тем же именем. Некоторые клиенты сразу выдают ошибку. Используйте псевдоним столбца, чтобы сделать имена уникальными.