我有一种罕见的显示数据,考虑到以下表格如下:
mysql> describe materiales;
+-----------+--------------+------+-----+------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+------------+----------------+
| registro | int(12) | NO | PRI | NULL | auto_increment |
| clave | char(6) | NO | UNI | | |
| clave2 | char(20) | YES | MUL | | |
| descr | char(30) | YES | | | |
| descr2 | char(250) | YES | | | |
| unidad | char(7) | YES | | | |
| presest | double(18,7) | YES | | 0.0000000 | |
| unidadpre | char(7) | YES | | | |
| codbar | char(30) | YES | | | |
| impuesto | double(18,7) | YES | | 0.0000000 | |
| mantpend | tinyint(1) | YES | | 0 | |
| grupplat | char(6) | YES | MUL | | |
| fechalta | date | YES | | 0000-00-00 | |
| usuarmod | char(6) | YES | | | |
| fechamod | date | YES | | 0000-00-00 | |
+-----------+--------------+------+-----+------------+----------------+
mysql> describe grupos;
+----------+----------+------+-----+------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+----------+------+-----+------------+----------------+
| registro | int(12) | NO | PRI | NULL | auto_increment |
| clave | char(6) | NO | UNI | | |
| descr | char(30) | YES | | | |
| fechalta | date | YES | | 0000-00-00 | |
| usuarmod | char(6) | YES | | | |
| fechamod | date | YES | | 0000-00-00 | |
+----------+----------+------+-----+------------+----------------+
要查询我想要向我展示Ma只有grupplat的地方但是向我显示MA和Ma看到底部:
mysql> SELECT CLAVE,DESCR,GRUPPLAT FROM MATERIALES WHERE
grupplat>='MA' AND grupplat<='MA' ORDER BY GRUPPLAT;
+--------+--------------------------------+----------+
| CLAVE | DESCR | GRUPPLAT |
+--------+--------------------------------+----------+
| PE100A | DEDOS QUESO | MA |
| PE125A | FUNKY MONKEY BITES | MA |
| PE125B | LUCKY DOG BOGARTS D-LIGHT | MA |
| PE125C | ROCKY ROAD PEANUT BUTTER BITES | MA |
| PE125D | SIRENAS SEAFOOD MEDLEY | MA |
| PE200A | HOJA TRANSFER | MA |
| PE250A | FRITURA CHURIS | MA |
| PE271A | HAMBURGUESA AMERICANA RES | MA |
| PE271B | HAMBURGUESA AMERICANA JR | MA |
| PE275A | PAPA ADOBADA | MA |
| PE301A | PAPA FRANCESA 1-4 | MA |
| PE304A | PAPA FRANCESA 3-8 | MA |
| PE308A | PAPA FRANCESA 5-16 | MA |
| PE312A | PAPA FRITA | MA |
| PE315A | PAPA GAJO NATURAL | MA |
| PE335A | PAPA HASH TRIANGULO | MA |
| PE370A | POLLO ALITA MARINADA IQF | MA |
| PE385A | POLLO NUGGET | MA |
| PE410A | PIZZA BASE | MA |
| PE411A | PIZZA REDONDA DULCE | MA |
| PE413A | PIZZA DE ZATAR | MA |
| PE450A | VERDURA CONGELADA MIXTA | MA |
| PE510A | WAFLES | MA |
| PF0001 | PRODUCTO FICTICIO | Ma | <--- ERROR
| PF0002 | AGUA POTABLE | Ma | <--- ERROR
| PF0003 | AGUA DE GARRAFON | Ma | <--- ERROR
| PF0004 | HIELO | Ma | <--- ERROR
| PE250F | FRITURA CAZARES | MA |
| PE301H | PAPA FRANCESA 1-2 ONDULADA | MA |
| PE510D | WAFFLES | MA |
| PE271C | HAMBURGUESA ARRACHERA 198 G | MA |
| PE370B | POLLO ALITAS MARINADAS | MA |
+--------+--------------------------------+----------+
正如您所看到的,但是使用以下语法添加另一个查询,如下所示仅显示“Ma”数据但是......向我显示“Ma”和“MA”的所有数据
mysql> SELECT CLAVE,DESCR,GRUPPLAT FROM MATERIALES WHERE
grupplat>='Ma' AND grupplat<='Ma' ORDER BY GRUPPLAT;
+--------+--------------------------------+----------+
| CLAVE | DESCR | GRUPPLAT |
+--------+--------------------------------+----------+
| PE100A | DEDOS QUESO | MA |
| PE125A | FUNKY MONKEY BITES | MA |
| PE125B | LUCKY DOG BOGARTS D-LIGHT | MA |
| PE125C | ROCKY ROAD PEANUT BUTTER BITES | MA |
| PE125D | SIRENAS SEAFOOD MEDLEY | MA |
| PE200A | HOJA TRANSFER | MA |
| PE250A | FRITURA CHURIS | MA |
| PE271A | HAMBURGUESA AMERICANA RES | MA |
| PE271B | HAMBURGUESA AMERICANA JR | MA |
| PE275A | PAPA ADOBADA | MA |
| PE301A | PAPA FRANCESA 1-4 | MA |
| PE304A | PAPA FRANCESA 3-8 | MA |
| PE308A | PAPA FRANCESA 5-16 | MA |
| PE312A | PAPA FRITA | MA |
| PE315A | PAPA GAJO NATURAL | MA |
| PE335A | PAPA HASH TRIANGULO | MA |
| PE370A | POLLO ALITA MARINADA IQF | MA |
| PE385A | POLLO NUGGET | MA |
| PE410A | PIZZA BASE | MA |
| PE411A | PIZZA REDONDA DULCE | MA |
| PE413A | PIZZA DE ZATAR | MA |
| PE450A | VERDURA CONGELADA MIXTA | MA |
| PE510A | WAFLES | MA |
| PF0001 | PRODUCTO FICTICIO | Ma |
| PF0002 | AGUA POTABLE | Ma |
| PF0003 | AGUA DE GARRAFON | Ma |
| PF0004 | HIELO | Ma |
| PE250F | FRITURA CAZARES | MA |
| PE301H | PAPA FRANCESA 1-2 ONDULADA | MA |
| PE510D | WAFFLES | MA |
| PE271C | HAMBURGUESA ARRACHERA 198 G | MA |
| PE370B | POLLO ALITAS MARINADAS | MA |
+--------+--------------------------------+----------+
但如果订单是'group by',由于某种原因,'Ma'不会显示为
mysql> SELECT CLAVE,DESCR,GRUPPLAT FROM MATERIALES group BY grupplat;
+--------+--------------------------------+----------+
| CLAVE | DESCR | GRUPPLAT |
+--------+--------------------------------+----------+
| AB002A | ACEITE DE CACAHUATE | M0 |
| AV005A | HUEVO | M1 |
| CR005A | CERDO BISTEC | M2 |
| EM010A | CERDO CHORIZO | M3 |
| ES005A | ACHIOTE | M4 |
| FV003A | ACELGA | M5 |
| LA010A | CREMA ACIDA | M6 |
| PN010A | BISQUET DULCE 30 G | M7 |
| PA010A | CAPELLINI | M8 |
| PM005A | ALMEJA CHIRLA | M9 |
| PE100A | DEDOS QUESO | MA |
| PO010A | ACEITE DE AJONJOLI PICANTE | MB |
| TT050A | MASA DE MAIZ | MC |
| PT010A | BROWNIE | MD |
| HN010A | HELADO BANANA BLU | ME |
| AR005A | AGUA NATURAL 355 ML | MI |
| CA010A | CAFE CAREY GOURMET GRANO | MJ |
| CO025A | GINSENG AMPOLLETA | ML |
| TE005A | TE AMANECER | MM |
| CE010A | BOHEMIA 355 ML | MN |
| AN005A | ANIS CHINCHON DULCE | MO |
| BR010A | BRANDY AZTECA DE ORO | MP |
| CV070A | CH MOET CHANDON DOM PERIGNON | MQ |
| CG010A | COGNAC COURVOISIER V.S.O.P | MR |
| CL002A | AGUARDIENTE CACHACA | MS |
| GI015A | GINEBRA BEEFEATER | MT |
| RO010A | RON APPLETON BLANCO | MU |
| TQ010A | MEZ ALIPUS SAN ANDRES | MV |
| VO020A | VODKA ABSOLUT | MW |
| WH010A | WHISKY BALLANTINES FINEST | MX |
| VB010A | VB ALBERT BICHOT CHABLIS | MY |
| VR050A | VR CERAUSOLO TOSE D ABRUZZO LA | MZ |
+--------+--------------------------------+----------+
在小组的表中,如果我查询看看grapplat的clave就像这样显示:
mysql> SELECT registro,clave,descr FROM compras.grupos group by clave;
+----------+-------+----------------------+
| registro | clave | descr |
+----------+-------+----------------------+
| 3 | M0 | ABARROTES |
| 4 | M1 | AVES |
| 5 | M2 | CARNES ROJAS |
| 6 | M3 | EMBUTIDOS |
| 7 | M4 | ESPECIAS-SECOS |
| 8 | M5 | FRUTAS-VERDURAS |
| 9 | M6 | LACTEOS |
| 10 | M7 | PANES |
| 11 | M8 | PASTAS |
| 12 | M9 | PESCADOS-MARISCOS |
| 13 | MA | PRODUCTOS ELABORADOS |
| 14 | MB | PRODUCTOS ORIENTALES |
| 15 | MC | TORTILLAS |
| 16 | MD | PASTELES |
| 17 | ME | HELADOS-NIEVES |
| 18 | MF | PRODUCTOS EXOTICOS |
| 19 | MI | AGUAS-REFRESCOS |
| 20 | MJ | CAFES |
| 21 | MK | CHOCOLATES FRAPPES |
| 22 | ML | COMPLEMENTOS ALIMENT |
| 23 | MM | TES |
| 24 | MN | CERVEZAS |
| 25 | MO | ANISES |
| 26 | MP | BRANDYS |
| 27 | MQ | CHAMPAGNES-VINOS ES |
| 28 | MR | COGNACS |
| 29 | MS | CREMAS-LICORES-OPORT |
| 30 | MT | GINEBRAS |
| 31 | MU | RONES |
| 32 | MV | TEQUILAS |
| 33 | MW | VODKAS |
| 34 | MX | WHISKYS |
| 35 | MY | VINOS BLANCOS |
| 36 | MZ | VINOS TINTOS |
| 37 | Ma | AGREGADOS |
+----------+-------+----------------------+
所以......如果我不得不改变或者是否要移除关键'MUL'的materiales表以查看“解决问题”,因为当我查询组'Ma'时没有显示...但'MA'是的...所以我已经非常沮丧,我发现这个非常烦人的错误!因为我使用另一个查询来连接表我需要向用户显示一个带内连接的餐馆,但是我提交这个错误是因为MYSQL因为它没有显示Ma ...得到它像MA
SELECT * FROM DETOC INNER JOIN MATERIALES ON DETOC.MATERIAL = MATERIALES.CLAVE
INNER JOIN GRUPOS ON MATERIALES.GRUPPLAT = GRUPOS.CLAVE
INNER JOIN ORDENESCOMPRA ON DETOC.ORDCOMP = ORDENESCOMPRA.CLAVE
INNER JOIN PROVEEDORES ON ORDENESCOMPRA.CVEPROV = PROVEEDORES.CLAVE
INNER JOIN AREAS ON ORDENESCOMPRA.AREA = AREAS.CLAVE
WHERE ORDENESCOMPRA.FECHALTA>='2014-01-01' AND ORDENESCOMPRA.FECHALTA<='2015-01-19'
AND ORDENESCOMPRA.AREA>=' 50' AND ORDENESCOMPRA.AREA<=' AF2'
AND ORDENESCOMPRA.CVEPROV>='000004' AND ORDENESCOMPRA.CVEPROV<='011551'
AND MATERIALES.CLAVE>='AB002A' AND MATERIALES.CLAVE<='WH420A'
AND MATERIALES.GRUPPLAT>='M0' AND MATERIALES.GRUPPLAT<='Ma'
AND ORDENESCOMPRA.CLAVE>='8780' AND ORDENESCOMPRA.CLAVE<='8790';
答案 0 :(得分:1)
在不区分大小写的数据库中,“MA”和“Ma”与“ma”完全相同。
如果您希望它们始终以不同方式处理,则应使表或列或数据库区分大小写。请注意,这比您和您的特定查询影响更大,因此请确保业务需求并确保为数据库开发的所有其他人都知道可能的更改并在推广到prod之前在QA中充分运用数据库。
如果您偶尔需要区分大小写,则可以在查询中使用排序规则。但请注意,这会为您的查询增加额外的时间,您必须对需要此区分大小写的每个查询执行此操作。如果您对所有查询都需要这个,那么它必须在inteh数据库中完成。
在sql server中,您可以将排序规则设置为单个列,但如果在mysql中可以实现这一点,我也不知道。我也不知道是否可以在基础表不创建区分大小写的视图时使用。但值得尝试。
答案 1 :(得分:0)
好吧...我尝试用COLLATE latin1_general_cs但这个解决方案没有解决问题,因为当我试试这个:
select detoc.ordcomp, materiales.clave,materiales.descr, grupos.clave,grupos.descr from detoc
inner join materiales on detoc.material = materiales.clave
INNER JOIN GRUPOS ON MATERIALES.GRUPPLAT = GRUPOS.CLAVE
INNER JOIN ORDENESCOMPRA ON DETOC.ORDCOMP = ORDENESCOMPRA.CLAVE
INNER JOIN PROVEEDORES ON ORDENESCOMPRA.CVEPROV = PROVEEDORES.CLAVE
INNER JOIN AREAS ON ORDENESCOMPRA.AREA = AREAS.CLAVE
WHERE ORDENESCOMPRA.CLAVE>='8781' AND ORDENESCOMPRA.CLAVE<='8791'
AND MATERIALES.GRUPPLAT COLLATE latin1_general_cs>='M0' AND MATERIALES.GRUPPLAT COLLATE latin1_general_cs<='Ma';
数据显示我:
+---------+--------+--------------------------------+-------+----------------------+
| ordcomp | clave | descr | clave | descr |
+---------+--------+--------------------------------+-------+----------------------+
| 8782 | PN540B | PAN DULCE CROSSAINT CHABACANO | M7 | PANES |
| 8782 | PN451B | PAN CAMPESINO RUSTICO MINI .06 | M7 | PANES |
| 8782 | PN511A | PAN CHAPATA RUSTICA MINI .060 | M7 | PANES |
| 8782 | PN310C | PAN BAGUET CAMPESINO .060 KILO | M7 | PANES |
| 8782 | PN310D | PAN BAGUET 350 GR | M7 | PANES |
| 8782 | PN535B | PAN DULCE CONCHA BLANCA .030 | M7 | PANES |
| 8782 | PN535C | PAN DULCE CONCHA CHOCOLATE .03 | M7 | PANES |
| 8782 | PN530B | PAN CHOCOLATIN 30 G | M7 | PANES |
| 8782 | PN560B | PAN MINI DANES .030 | M7 | PANES |
| 8782 | PE410A | PIZZA BASE | MA | PRODUCTOS ELABORADOS |
| 8783 | FV007A | AGUACATE HASS EXTRA | M5 | FRUTAS-VERDURAS |
| 8783 | FV421A | JITOMATE GUAJE PARA MOLER | M5 | FRUTAS-VERDURAS |
| 8783 | FV455A | KIWI | M5 | FRUTAS-VERDURAS |
| 8783 | FV570A | MAMEY | M5 | FRUTAS-VERDURAS |
| 8783 | FV643A | NARANJA AMARILLA | M5 | FRUTAS-VERDURAS |
| 8783 | FV653B | NOPAL CAMBRAY | M5 | FRUTAS-VERDURAS |
| 8783 | FV720C | PAPA ALFA GRANDE | M5 | FRUTAS-VERDURAS |
| 8783 | FV725A | PAPA CAMBRAY | M5 | FRUTAS-VERDURAS |
| 8783 | FV746A | PEPINO | M5 | FRUTAS-VERDURAS |
| 8783 | FV755B | PIMIENTO ROJO | M5 | FRUTAS-VERDURAS |
| 8783 | FV755C | PIMIENTO VERDE | M5 | FRUTAS-VERDURAS |
| 8783 | FV763C | PLATANO TABASCO | M5 | FRUTAS-VERDURAS |
| 8783 | FV124A | CEBOLLIN | M5 | FRUTAS-VERDURAS |
| 8783 | FV415A | JITOMATE BOLA | M5 | FRUTAS-VERDURAS |
| 8783 | FV418A | JITOMATE CHERRY | M5 | FRUTAS-VERDURAS |
| 8783 | FV305A | GERMINADO DE ALFALFA | M5 | FRUTAS-VERDURAS |
| 8783 | FV107A | CALABAZA ITALIANA | M5 | FRUTAS-VERDURAS |
| 8783 | FV118B | CEBOLLA BLANCA MEDIANA | M5 | FRUTAS-VERDURAS |
| 8783 | FV122A | CEBOLLA MORADA | M5 | FRUTAS-VERDURAS |
| 8783 | FV144A | CHILE SERRANO | M5 | FRUTAS-VERDURAS |
| 8783 | FV136A | CHILE CUARESMENO GRANDE | M5 | FRUTAS-VERDURAS |
| 8783 | ES090A | CHILE MORITA | M4 | ESPECIAS-SECOS |
| 8783 | FV147A | CILANTRO | M5 | FRUTAS-VERDURAS |
| 8783 | FV232A | EPAZOTE | M5 | FRUTAS-VERDURAS |
| 8783 | FV235B | ESPARRAGO MEDIANO | M5 | FRUTAS-VERDURAS |
| 8783 | FV767A | PORTOBELLO JUMBO | M5 | FRUTAS-VERDURAS |
| 8783 | FV355A | HIERBABUENA | M5 | FRUTAS-VERDURAS |
| 8783 | FV277A | FRESA DRISCOL | M5 | FRUTAS-VERDURAS |
| 8783 | FV127A | CHAMPINONES JUMBO | M5 | FRUTAS-VERDURAS |
| 8784 | AB165D | FRIJOL NEGRO | M0 | ABARROTES |
| 8785 | PN510F | PAN CHAPATA NATURAL 100 GR | M7 | PANES |
| 8785 | PN420C | PAN BOLLO NATURAL 100 G | M7 | PANES |
| 8786 | FV107A | CALABAZA ITALIANA | M5 | FRUTAS-VERDURAS |
| 8786 | FV418A | JITOMATE CHERRY | M5 | FRUTAS-VERDURAS |
| 8786 | FV277A | FRESA DRISCOL | M5 | FRUTAS-VERDURAS |
| 8786 | FV355A | HIERBABUENA | M5 | FRUTAS-VERDURAS |
| 8786 | FV767A | PORTOBELLO JUMBO | M5 | FRUTAS-VERDURAS |
| 8786 | FV235B | ESPARRAGO MEDIANO | M5 | FRUTAS-VERDURAS |
| 8786 | FV147A | CILANTRO | M5 | FRUTAS-VERDURAS |
| 8786 | FV124A | CEBOLLIN | M5 | FRUTAS-VERDURAS |
| 8786 | FV890A | UVA VERDE SIN SEMILLA | M5 | FRUTAS-VERDURAS |
| 8786 | FV763A | PLATANO MACHO | M5 | FRUTAS-VERDURAS |
| 8786 | FV763C | PLATANO TABASCO | M5 | FRUTAS-VERDURAS |
| 8786 | FV725A | PAPA CAMBRAY | M5 | FRUTAS-VERDURAS |
| 8786 | FV643A | NARANJA AMARILLA | M5 | FRUTAS-VERDURAS |
| 8786 | FV136A | CHILE CUARESMENO GRANDE | M5 | FRUTAS-VERDURAS |
| 8786 | FV144A | CHILE SERRANO | M5 | FRUTAS-VERDURAS |
| 8786 | FV127A | CHAMPINONES JUMBO | M5 | FRUTAS-VERDURAS |
| 8786 | FV118B | CEBOLLA BLANCA MEDIANA | M5 | FRUTAS-VERDURAS |
| 8786 | FV110A | CAMOTE AMARILLO | M5 | FRUTAS-VERDURAS |
| 8786 | FV421A | JITOMATE GUAJE PARA MOLER | M5 | FRUTAS-VERDURAS |
| 8787 | AV010A | POLLO PECHUGA DESHUESADA | M1 | AVES |
| 8787 | AV015A | POLLO PECHUGA ENTERA | M1 | AVES |
| 8787 | AV025A | POLLO PIERNA CON MUSLO | M1 | AVES |
| 8787 | AV005A | HUEVO | M1 | AVES |
| 8788 | LA125C | QUESO CREMA | M6 | LACTEOS |
| 8788 | LA260B | YOGHURT NATURAL | M6 | LACTEOS |
| 8788 | LA115C | QUESO COTTAGE | M6 | LACTEOS |
| 8788 | LA080B | MANTEQUILLA | M6 | LACTEOS |
| 8788 | EM100B | PAVO JAMON | M3 | EMBUTIDOS |
| 8788 | LA205A | QUESO PANELA | M6 | LACTEOS |
| 8790 | EM215A | VIENA SALCHICHA | M3 | EMBUTIDOS |
| 8790 | LA062B | LECHE ENTERA | M6 | LACTEOS |
+---------+--------+--------------------------------+-------+----------------------+
问题是8781没有数据显示应该显示,例如,如果我尝试这样做:
select detoc.ordcomp, materiales.clave,materiales.descr, grupos.clave,grupos.descr from detoc
inner join materiales on detoc.material = materiales.clave
INNER JOIN GRUPOS ON MATERIALES.GRUPPLAT = GRUPOS.CLAVE
INNER JOIN ORDENESCOMPRA ON DETOC.ORDCOMP = ORDENESCOMPRA.CLAVE
INNER JOIN PROVEEDORES ON ORDENESCOMPRA.CVEPROV = PROVEEDORES.CLAVE
INNER JOIN AREAS ON ORDENESCOMPRA.AREA = AREAS.CLAVE
WHERE ORDENESCOMPRA.CLAVE>='8781' AND ORDENESCOMPRA.CLAVE<='8782'
AND MATERIALES.GRUPPLAT COLLATE latin1_general_cs>='M0' AND MATERIALES.GRUPPLAT COLLATE latin1_general_cs<='MZ';
它告诉我:
+---------+--------+--------------------------------+-------+----------------------+
| ordcomp | clave | descr | clave | descr |
+---------+--------+--------------------------------+-------+----------------------+
| 8781 | CE010F | BOHEMIA OBSCURA 355 ML R | MN | CERVEZAS |
| 8781 | CE010E | BOHEMIA 355 ML R | MN | CERVEZAS |
| 8781 | CE080C | SOL 355 ML R | MN | CERVEZAS |
| 8781 | CE085C | TECATE 325 ML R | MN | CERVEZAS |
| 8781 | CE085F | TECATE LIGHT 325 ML R | MN | CERVEZAS |
| 8782 | PN540B | PAN DULCE CROSSAINT CHABACANO | M7 | PANES |
| 8782 | PN451B | PAN CAMPESINO RUSTICO MINI .06 | M7 | PANES |
| 8782 | PN511A | PAN CHAPATA RUSTICA MINI .060 | M7 | PANES |
| 8782 | PN310C | PAN BAGUET CAMPESINO .060 KILO | M7 | PANES |
| 8782 | PN310D | PAN BAGUET 350 GR | M7 | PANES |
| 8782 | PN535B | PAN DULCE CONCHA BLANCA .030 | M7 | PANES |
| 8782 | PN535C | PAN DULCE CONCHA CHOCOLATE .03 | M7 | PANES |
| 8782 | PN530B | PAN CHOCOLATIN 30 G | M7 | PANES |
| 8782 | PN560B | PAN MINI DANES .030 | M7 | PANES |
| 8782 | PE410A | PIZZA BASE | MA | PRODUCTOS ELABORADOS |
+---------+--------+--------------------------------+-------+----------------------+
所以...我最终提出了想法......由于数据量的大小,现在改变以使其变得非常困难!!!!!