首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql Join Where子句重复结果

Mysql Join Where子句重复结果
EN

Stack Overflow用户
提问于 2013-09-19 01:02:42
回答 1查看 77关注 0票数 0

我有一个简单的SQL连接,它在结果中复制数据。一个表查询:

代码语言:javascript
复制
select * from ohyeah_borrower_prefs where inumber=13522

正确返回3行。

代码语言:javascript
复制
   ID      Num     iNum       Cat       Subcat         Date         Code
'14332', '13522', '13522', 'Fiction', 'Espionage', '2011-04-04', 'BRAILLE'
'14333', '13522', '13522', 'Fiction', 'Espionage', '2011-04-04', '2 TRACK'
'14334', '13522', '13522', 'Fiction', 'Espionage', '2013-07-18', 'LARGE PRIN'

然而,如果我尝试这个连接到我的items表来提取唯一的条形码,我得到9个结果,而不是我期望的3个-看到每个结果重复3次!

代码语言:javascript
复制
select code, items.barcode from ohyeah_borrower_prefs 
LEFT JOIN items ON
`items`.`inumber` = `ohyeah_borrower_prefs`.`inumber` 
WHERE (`ohyeah_borrower_prefs`.`biblionumber` = 13522)

结果:

代码语言:javascript
复制
 CODE          BARCODE
BRAILLE       90004071
BRAILLE       30025000162744
BRAILLE       30025000128349
"2 TRACK",    90004071
"2 TRACK",    30025000162744
"2 TRACK",    30025000128349
"LARGE PRIN"  90004071
"LARGE PRIN"  30025000162744
"LARGE PRIN"  30025000128349

有谁能帮我吗?我有一种感觉,这是一个非常愚蠢的问题,但我不能解决它的时刻!

EN

回答 1

Stack Overflow用户

发布于 2013-09-19 01:15:55

如果您希望每个代码只有一条记录,然后列出每个代码的条形码,则可以执行此操作。否则,您的查询将正常工作,如果每个代码有3个条形码,则每个代码将有3行。

代码语言:javascript
复制
select code, GROUP_CONCAT(items.barcode) as barcodes

from   ohyeah_borrower_prefs 

       LEFT JOIN items 
       ON `items`.`inumber` = `ohyeah_borrower_prefs`.`inumber` 

WHERE (`ohyeah_borrower_prefs`.`biblionumber` = 13522)

GROUP BY code;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18878168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档