Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

consulta de 2 tablas

Estas en el tema de consulta de 2 tablas en el foro de SQL Server en Foros del Web. Por favor necesito que me ayuden en una consulta de dos tablas que están relacionadas en sql server 2008 La una tabla se llama productos ...
  #1 (permalink)  
Antiguo 27/11/2009, 14:32
 
Fecha de Ingreso: mayo-2009
Mensajes: 142
Antigüedad: 15 años
Puntos: 0
consulta de 2 tablas

Por favor necesito que me ayuden en una consulta de dos tablas que están relacionadas en sql server 2008
La una tabla se llama productos y tiene como campos:
productos_id(PK, int)
categoria (varchar(50))
descripcion (varchar(50))
precio (money)

La otra tabla se llama nuevaorden y tiene como campos:
nuevaorden_id(PK,int)
productos_id(int)
pedido (varchar(50))
precio (money)
La tabla nuevaorden tiene la clave foranea de la tabla productos entonces yo quiero que me digan por favor la consulta que al comparar el campo productos_id de la tabla productos con el campo productos_id de la tabla nuevaorden se actualizen los campos de pedido y precio de la tabla nueva orden trayendo la información de descripción y precio de la tabla productos.
Gracias
  #2 (permalink)  
Antiguo 27/11/2009, 16:18
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: consulta de 2 tablas

Si te entendí bien sería así:
Código sql:
Ver original
  1. UPDATE nuevaorden SET pedido = P.descripcion, precio = P.precio
  2. FROM nuevaorden N
  3. INNER JOIN productos P ON N.productos_id = P.productos_id
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 30/11/2009, 13:28
 
Fecha de Ingreso: mayo-2009
Mensajes: 142
Antigüedad: 15 años
Puntos: 0
consulta de 2 tablas

gracias por tu respuesta si me funcino esta consulta por favor ahora quisiera que me ayudes en otra consulta
En la tabla nuevaorden yo agregué nuevos campos finalmente esta tabla quedó así:
nuevaorden_id(PK, int)
productos_id(int)
mesa(int)
personas(int)
descuento(int)
pedido(varchar(50))
precio(money)
cantidad(int)
subtotal(money)
valordescuento(money)
total(money)
Entonces yo quiero que me digas por favor como hago que al ingresar 10 en el campo descuento, 5.00 en el campo precio, 2 en el campo cantidad, en el campo subtotal me calcule automáticamente el cálculo que sería (2*5.00) que sería igual a 10.00, en el campo valordescuento me saque automáticamente el cálculo que sería (2*5.00*0.1) que sería igual a 1.00 y en el campo total me saque automáticamente el cálculo que sería (2*5.00-1.00) que sería igual a 9.00
Muchas gracias
  #4 (permalink)  
Antiguo 30/11/2009, 14:40
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: consulta de 2 tablas

Tienes que crear un procedimiento almacenado, el cual llamarás cada ingreses un registro en tu tabla. En ese momento calculas todos lo valores necesarios.
Eso es?
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #5 (permalink)  
Antiguo 01/12/2009, 08:34
 
Fecha de Ingreso: mayo-2009
Mensajes: 142
Antigüedad: 15 años
Puntos: 0
Respuesta: consulta de 2 tablas

si eso es, gracias pero me puedes ayudar hacer el procedimiento almacenado para la tabla nuevaorden por favor y muchas gracias
  #6 (permalink)  
Antiguo 01/12/2009, 09:29
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: consulta de 2 tablas

Es facil
Código sql:
Ver original
  1. CREATE PROCEDURE IngresarNuevaOrden(
  2. @nuevaorden_id INT,
  3. @productos_id INT,
  4. @descuento INT,
  5. @precio money,
  6. @cantidad INT
  7. )
  8. AS
  9. BEGIN
  10.  
  11. INSERT INTO nuevaorden(nuevaorden_id, productos_id, descuento, precio, cantidad, subtotal)
  12. VALUES(nuevaorden_id, @productos_id, @descuento, @precio, @cantidad, @precio*@cantidad)
  13.  
  14. END
El resto te lo dejo a ti.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #7 (permalink)  
Antiguo 01/12/2009, 16:38
 
Fecha de Ingreso: mayo-2009
Mensajes: 142
Antigüedad: 15 años
Puntos: 0
consulta de 2 tablas

Muchas gracias ya me corrió el procedimiento me salió comando satisfactorio ahora quiero saber como hago para que este procedimiento le afecta a la tabla nuevaorden .
  #8 (permalink)  
Antiguo 01/12/2009, 16:40
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: consulta de 2 tablas

A qué te refieres con "afecta"? Pon un ejemplo.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #9 (permalink)  
Antiguo 02/12/2009, 11:01
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: consulta de 2 tablas

flaviovich, ahorrate tiempo, ¿porque no le desarrollas el aplicativo?
  #10 (permalink)  
Antiguo 02/12/2009, 11:14
 
Fecha de Ingreso: mayo-2009
Mensajes: 142
Antigüedad: 15 años
Puntos: 0
Respuesta: consulta de 2 tablas

Lo que pasa es quer en la base yo ya le corrí el procedimiento, pero fuí a la tabla nueva orden y no le hizo los cálculos entonces no se porqué no le hizo los cálculos si al correr el procedimiento almacenado en la base no me salió ningún error, entonces quiero saber como le llamo el procedimiento almacenado en la tabla nuevaorden para que me haga los cálculos en la tabla nuevaorden lo que tiene el procedimiento almacenando por favor
Muchas gracias
  #11 (permalink)  
Antiguo 02/12/2009, 11:19
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: consulta de 2 tablas

A ver muéstranos tu procedimiento almacenado, que se supone ya has modificado como te dije más arriba.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #12 (permalink)  
Antiguo 02/12/2009, 12:48
 
Fecha de Ingreso: mayo-2009
Mensajes: 142
Antigüedad: 15 años
Puntos: 0
Respuesta: consulta de 2 tablas

Aquí te muestro me corrió, pero la tabla nuevaorden no tuvo ninguna modificación:

create procedure IngresarNuevaOrden(
@nuevaorden_id int,
@productos_id int,
@descuento int,
@precio money,
@cantidad int
)
AS
begin
INSERT INTO nuevaorden(nuevaorden_id, productos_id, descuento, precio, cantidad, subtotal, valordescuento, total)
VALUES(@nuevaorden_id, @productos_id, @descuento, @precio, @cantidad, @precio*@cantidad, @precio*@cantidad*@descuento/100, @precio*@cantidad-(@precio*@cantidad*@descuento/100))
end
  #13 (permalink)  
Antiguo 02/12/2009, 13:54
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: consulta de 2 tablas

ashidalgov

Una cosa es que CONSTRUYAS o CREES el STORE, con CREATE PROCEDURE

Y otra muy distinta, que una vez creado, lo ejecutes:

EXECUTE IngresarNuevaOrden IngresarNuevaOrden = 1, IngresarNuevaOrden = 455678, @descuento = 20......ETC.
  #14 (permalink)  
Antiguo 02/12/2009, 15:30
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: consulta de 2 tablas

Asi es, te falto llamar al procedimiento almacenado:
Código:
EXECUTE IngresarNuevaOrden 1, 455678, 20, 5000, 8
Ojala ahora si este claro.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #15 (permalink)  
Antiguo 21/01/2010, 11:29
 
Fecha de Ingreso: mayo-2009
Mensajes: 142
Antigüedad: 15 años
Puntos: 0
consulta

Gracias ahora tengo otra preguntita verás yo tengo la siguiente sentencia sql:
SELECT productos.PRODUCTOID, productos.DESCRIPCION, categorias.DESCRIPCIONCAT
FROM productos, categorias
WHERE productos.CATEGORIAID = categorias.CATEGORIAID
Como te puedes dar cuenta categorias.DESCRIPCIONCAT viene de una tabla llamada categorias
Al ejecutar la sentencia sql me sale lo siguiente:
DESCRIPCIÓN DESCRIPCIONCAT
Juego de mora Bebidas
Jugo de coco Bebidas
Caipiriña Cocteles
Piña colada Cocteles
Yo quiero una sentencia sql que me salga lo siguiente
Bebidas
----------
Jugo de mora
Jugo de coco

Cocteles
-----------
Caipiriña
Piña colada
Que la categoría se repita una sola vez y que se despliegue los productos de esa categoría como hago eso??
Gracias
  #16 (permalink)  
Antiguo 21/01/2010, 11:33
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: consulta de 2 tablas

Crea por favor otro post (tema).
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:58.