Ограничьте до 10 идентификаторов из таблицы 1 и получите все записи из таблицы 2, которые соответствуют идентификаторам из таблицы 1 - PullRequest
0 голосов
/ 28 мая 2019

У меня есть таблица1, например:

orderID userId orderName orderTime...
1         11
2.        12
3.        11
4.        14
5.        11
6.        13
7.        11
8.        15
9.        16
10.       11
...      ...

У меня есть другая таблица table2:

table2ID orderID item    price ....
101       1       Apple   1.99
102       1       Banana  2.99
103       1       Grapes  0.99
104       4       pizza   6.99
105       4       drink   0.99
105.      3       chicken 1.99
106.      3       apple   1.99

Я пробовал это:

SELECT a.*, b.* FROM `table1` a
    RIGHT JOIN table2 b on a.orderID = b.orderID 
    WHERE a.userID = 11 order by a.`orderTime` DESC LIMIT 25;

Я хочуполучить до 10 уникальных идентификаторов orderID из таблицы 1 пользователя 11 и все детали этих 10 идентификаторов из таблицы 2. Если я выполню LIMIT 25, я не получу всю информацию.Я хочу, чтобы мой вывод был:

orderID userId orderName orderTime... table2ID orderID item    price 
 1        11                            101       1    Apple   1.99
 1        11                            102       1    Banana 2.99
 1        11                            103       1    Grapes  0.99
 3        11                            105       3    chicken 1.99
 3        11                            106       3     apple   1.99

1 Ответ

0 голосов
/ 28 мая 2019
SELECT a.*, b.*
FROM ( SELECT *
       FROM a
       WHERE a.userID = 11
       LIMIT 10) as a
JOIN b
  ON a.orderID = b.orderID 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...