🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: chile.comp.programacion
Article #2285

Re: por encargo, SQL en access...

#2285
From: Jos� Miguel Santib��ez
Date: Tue, 17 Jan 2006 03:44
86 lines
3861 bytes
En el cap�tulo anterior (news:dqhkrv$h7o$1@news.nivel5.cl), Eduardo Quiroz 
<eduardoquiroz@vtr.net> dijo:

> Eduardo Quiroz escribi�:
>> Jos� Miguel Santib��ez escribi�:
>> 
>>> Holap,
>>>
>>> Un amigo tiene el siguiente problema:
>>> tabla 1:
>>>  create table producto (
>>>     pr_cod varchar(4) not null,
>>>     pr_desc varchar(200),
>>>     primary key(pr_cod));
>>>
>>> Data:
>>> 'a001', 'l�piz'
>>> 'a002', 'cuaderno'
>>> 'a003', 'regla'
>>> 'a004', 'goma'
>>>
>>>
>>> tabla 2:
>>>   create table inventario (
>>>     bo_cod varchar (2) not null,
>>>     pr_cod varchar (4) not null,
>>>     in_cant integer not null default 0,
>>>     primary key(bo_cod, pr_cod));
>>>
>>> Data:
>>> 'a001', '01', 10
>>> 'a002', '01', 15
>>> 'a003', '01', 20
>>> 'a001', '02', 10
>>> 'a002', '02', 15
>>> 'a004', '01', 20
>>>
>>> Y necesita un SQL en access que le permita obtener todos los productos 
>>> y sus cantidades, pero para una bodega dada, y que si no hay productos 
>>> en esa bodega (no hay l�nea) le retorne una l�nea de null...
>>>
>>> Eso, en SQL est�ndar (SQL Server, MySQL, etc) se hace con:
>>>
>>> select producto.*, in_cant
>>>   from producto left join inventario
>>>     on producto.pr_cod = inventario.pr_cod
>>>    and inventario.bo_cod = '01'
>>>
>>> Que retornar�a:
>>> 'a001', 'l�piz', 10
>>> 'a002', 'cuaderno', 15
>>> 'a003', 'regla', 20
>>> 'a004', 'goma', null
>>>
>>> Sin embargo, access no acepta ese query y reclama en la l�nea:
>>>    and inventario.bo_cod = '01'
>>>
>>> alguna sugerencia???
>>>
>> maese???
>> no deber�a serel left join solo con el pr_cod y lo otro una condici�n, 
>> con lo cual
>> and inventario.bo_cod = '01' deberia ser having inventario.bo_cod='01'
>> 
> Rectifico, Where por having, puesto que no es group by.
> adem{as...otra consulta..
> lo anterior es copy paste?? si es as�, en el join dice producto y no 
> productos, else, no ha lugar.
> salute!!
> 

No, no es copy paste... de hecho, es un SQL a la r�pida (incluyendo los 
create tables)... Trat� de ponerlo directo en SQL, para facilitar el 
entendimiento...

Ojo, el original (salvo errores de capa 8 en digitaci�n) funciona 
exactamente como se desea en servidores SQL, tanto en MySQL como en SQL 
Server... Pero el problema es en access... Y lo peor, es que en este caso, 
se necesita en access, no sirve ni MySQL ni SQL Server... 

PD: apliqu� un filtro depurador de errores de digitaci�n en capa 8...

-- 
                           Jose M. Santiba�ez A.
                             <jms@nivel5.cl>
                           <http://caos.cl/jms>
Technical Details
Message-ID: <Xns974DEFDD2FB54jmsnews@200.27.221.71>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!news4.google.com!border1.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!novia!news-xfer.nntp.sonic.net!news.kjsl.com!news.nivel5.cl!news.vcd.cl!not-for-mail!not-for-mail
References: <Xns974DE640EAC54jmsnews@200.27.221.71> <dqhiqc$ggi$1@news.nivel5.cl> <dqhkrv$h7o$1@news.nivel5.cl>

Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,9e1bf3f5cdc0fd35
X-Google-Attributes: gid1593cb,public
X-Google-Language: SPANISH,ASCII
Newsgroups: chile.comp.programacion
Subject: Re: por encargo, SQL en access...
From: "Jos� Miguel Santib��ez" <jms.nospam@nivel5.cl>
References: <Xns974DE640EAC54jmsnews@200.27.221.71> <dqhiqc$ggi$1@news.nivel5.cl> <dqhkrv$h7o$1@news.nivel5.cl>
Organization: Caos Consultores
Message-ID: <Xns974DEFDD2FB54jmsnews@200.27.221.71>
User-Agent: Xnews/5.04.25
X-Face: +|NgjgFM{<rs%\Q|vUu16]a6,}?MJTA<!PEEI+x&Gw-Gyq+?$}fvo+.(,-r;)~Qzn)#{{nxU,OT?w^s<7m4ckCJ*L$c#I)yHL7b)GdU*#l
NNTP-Posting-Host: 24-80-112.adsl.terra.cl
X-Original-NNTP-Posting-Host: 24-80-112.adsl.terra.cl
Date: 16 Jan 2006 23:44:35 -0400
X-Trace: news.vcd.cl!not-for-mail 1137465875 200.112.80.24 (16 Jan 2006 23:44:35 -0400)
X-Original-Trace: 16 Jan 2006 23:44:35 -0400, 24-80-112.adsl.terra.cl
Lines: 86
X-Authenticated-User: jms
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!news4.google.com!border1.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!novia!news-xfer.nntp.sonic.net!news.kjsl.com!news.nivel5.cl!news.vcd.cl!not-for-mail!not-for-mail