Как выбрать строки из другой таблицы, если строк недостаточно в первой?С SQL - PullRequest
1 голос
/ 03 апреля 2012

У меня есть две таблицы:

Таблица "items":

| id | name       | description                              |
| 1  | Michael    | This is a random description blabalbla   | 
| 2  | Tom        | This is another descriptions blablabla   | 

Таблица "moreitems":

| id | name       | description                              |
| 1  | Michael    | This is a random description blabalbla   | 
| 2  | Mike       | This is another descriptions blablabla   | 
| 3  | Michael    | This is a random description blabalbla   | 
| 4  | Blain      | This is another descriptions blablabla   | 

В настоящее время я выбираю элементы изпервая таблица выглядит так:

SELECT * FROM items WHERE name = 'Michael' AND CHAR_LENGTH(description) > 10 LIMIT 3

Я хотел бы включить в таблицу вторую таблицу, если предел (3) не достигнут.Как я могу это сделать - без php?

1 Ответ

3 голосов
/ 03 апреля 2012

Попробуйте:

SELECT * FROM
(SELECT 'items' table_name, i.* 
 FROM items i WHERE name = 'Michael' AND CHAR_LENGTH(description) > 10 
 UNION ALL 
 SELECT 'moreitems' table_name, m.* 
 FROM moreitems m WHERE name = 'Michael' AND CHAR_LENGTH(description) > 10 
 ORDER BY 1,2) v
LIMIT 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...