Gestione record in due tabelle

martedì 22 ottobre 2013 - 10.24
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Windows Server 2008 R2  |  Visual Studio 2010

trinity Profilo | Guru

Buongiorno,
io ho due tabelle, una tabella "servizi" ed una tabella "camere".
Nella tabella servizi ci sono appunto tutti i servizi che le camere possono avere, si possono aggiungere dei servizi ovviamente.
Nella tabella camere ci sono le anagrafiche delle camere con i loro relativi servizi.
Allora io in sql vorrei creare una query che quando richiamo un cliente mi prende tutti i servizi che i generale si trovano nella relativa tabella servizi ma con una spunta ai servizi che la camera ha, perche ovviamente come detto i servizi possono essere annullati o anche aggiungi a quelli già esistenti.

posto le tabelle:

tabella servizi: CREATE TABLE [Servizi] ( [Ser_Descrizione] nvarchar(30) NOT NULL , [Key_Ser] int NOT NULL IDENTITY (1,1) ); GO ALTER TABLE [Servizi] ADD CONSTRAINT [PK__Servizi__0000000000000207] PRIMARY KEY ([Key_Ser]); GO CREATE UNIQUE INDEX [UQ__Servizi__0000000000000202] ON [Servizi] ([Key_Ser] ASC); GO

tabella camere:

CREATE TABLE [Camere] ( [Key_struttura] tinyint NOT NULL , [Key_camera] int NOT NULL , [Cam_nome] nvarchar(100) NULL , [Cam_servizi] nvarchar(200) NULL ); GO ALTER TABLE [Camere] ADD CONSTRAINT [PK_Camere] PRIMARY KEY ([Key_struttura],[Key_camera]); GO CREATE UNIQUE INDEX [UQ__Camere__0000000000000509] ON [Camere] ([Key_camera] ASC); GO

in pratica spiego il campo cam_servizi della tabella camere, io ho pensato che in quel campo ci andranno tutte le chiavi di riferimento ai servizi scelti e poi in vb net con uno split ricavo ogni singola chiave del servizio annesso alla camera.

quindi ricapitolando io vorrei creare una procedura che quando apro una camera mi fa vedere tutti i servizi che si trovano nella tabella servizi ma avere una spunta per i servizi che sono stati attivati nella camera.
per questo motivo pensavo che tramite una query sql potessi avere tutti i dati che poi posso gestire lato vb

come posso fare?

grazie
Cirillo Fabio
www.trycontact.com
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

micto27 Profilo | Senior Member

Ciao,

mi sembra di capire che per una camera i servizi associati vengono "ammucchiati" (forse separati da virgola o da altro carattere) nel campo Cam_servizi che è di tipo nvarchar(200),
ora credo ti risulterebbe molto più vantaggioso gestire le associazioni in una tabella che metta in relazione le due tabelle che hai citato.
Tale tabella (ad esempio Camere_Servizi) avrebbe una riga per ogni associazione (id camera e id servizio).
A quel punto diventerebbe piuttosto semplice ottenere ciò che ti serve e più lineare la gestione....

che ne pensi?

Michele
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5