【发布时间】:2023-03-15 18:36:01
【问题描述】:
我有两张这样的桌子:-
Table: offers
|-------------- |
| id | OfferNum |
| 1 | a1 |
| 2 | a2 |
| 3 | a3 |
| 4 | a4 |
| 5 | a5 |
| 6 | a6 |
|---------------|
Table: colours
|------------------------------------------|
| id | OfferNum | colour | availaility |
| 1 | a1 |blue |yes |
| 2 | a1 |red |no |
| 3 | a2 |green |yes |
| 4 | a3 |white |yes |
| 5 | a3 |brown |yes |
| 6 | a3 |navy |no |
| 7 | a3 |black |yes |
| 8 | a3 |red |yes |
| 9 | a4 |yellow |no |
| 10 | a5 |black |yes |
| 11 | a6 |white |yes |
|------------------------------------------|
出于分页的目的,我需要从表“offers”中选择 3 个 OfferNum,从偏移量 0 开始,然后连接两个表,以便结果行包含 3 个 offernum(即 a1、a2 和 a3)。等等……
LIMIT 0,3 的以下脚本不会产生所需的结果。
SELECT offers.OfferNum, items.colour, items.availability
FROM offers
JOIN items ON items.OfferNum = offers.OfferNum
ORDER BY offers.id ASC
LIMIT 0 , 3
它只产生连接表的前 3 行。像这样:-
|----------------------------|
|OfferNum|colour|availability|
|a1 |blue |yes |
|a1 |red |no |
|a2 |green |yes |
|----------------------------|
有没有办法达到预期的效果?
【问题讨论】:
-
那么第一页将包含 2+1+5 行?
-
发布您的表格架构
-
@Quest SELECT * FROM
offers,colours WHERE offer.OfferNum = colours.OfferNum 和 colours.OfferNum IN(从 OfferNum asc limit 0,3 的报价订单中选择 OfferNum) - 这一次让我知道它是否有效 -
Salman A:是的,它总共包含 8 行
-
Ripa Saha:它会产生此错误:- 检查与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在 'select OfferNum from offer order by OfferNum asc limit 0,3) LI