我有一个简单的SQL连接,它在结果中复制数据。一个表查询:
select * from ohyeah_borrower_prefs where inumber=13522正确返回3行。
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次!
select code, items.barcode from ohyeah_borrower_prefs
LEFT JOIN items ON
`items`.`inumber` = `ohyeah_borrower_prefs`.`inumber`
WHERE (`ohyeah_borrower_prefs`.`biblionumber` = 13522)结果:
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有谁能帮我吗?我有一种感觉,这是一个非常愚蠢的问题,但我不能解决它的时刻!
发布于 2013-09-19 01:15:55
如果您希望每个代码只有一条记录,然后列出每个代码的条形码,则可以执行此操作。否则,您的查询将正常工作,如果每个代码有3个条形码,则每个代码将有3行。
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;https://stackoverflow.com/questions/18878168
复制相似问题