mysql SQL连接和where与ON(特定项)一起按顺序获取结果

kuuvgm7e  于 2023-06-28  发布在  Mysql
关注(0)|答案(2)|浏览(108)

样本码

SELECT b.title, i.barcode
 FROM biblio b
 JOIN items i 
    ON b.biblionumber= i.biblionumber
 Join biblioitems bi 
    ON i.biblionumber=bi.biblionumber
 where i.barcode IN (4088,6183,6191)

以上SQL给出的结果如下,

我如何得到结果在IN(4088,6183,6191)作为输入的顺序

lzfw57am

lzfw57am1#

您可以尝试下面的修改查询。

SELECT b.title, i.barcode
FROM biblio b
JOIN items i ON b.biblionumber = i.biblionumber
JOIN biblioitems bi ON i.biblionumber = bi.biblionumber
WHERE i.barcode IN (4088, 6183, 6191)
ORDER BY FIELD(i.barcode, 4088, 6183, 6191);

希望这有帮助!!

vuktfyat

vuktfyat2#

你可以使用ORDER BYCASE语句:

<You query>
order by case i.barcode 
          when 4088 then 1
          when 6183 then 2
          when 6191 then 3 
      end

相关问题