Cómo crear la sintaxis de consulta de múltiples DataTable para la implementación en el operador del servidor SQL

StackOverflow https://stackoverflow.com/questions/2896241

Pregunta

haber recogido el 3-4 tablas ejecutando mi procedimiento almacenado. Ahora que reside en mi conjunto de datos.

Tengo que mantener este conjunto de datos de múltiples formas y no estoy haciendo ninguna operación DML en este conjunto de datos.

Ahora bien, este conjunto de datos contiene 4 mesas fuera de las cuales tengo que ir a buscar algunos registros de datos de visualización. Los datos almacenados en las tablas están en forma de uno a muchos.

es decir. En el caso de las transacciones. N registra por registro. Entonces estos N registros se asignan además a los registros de M de tercera tabla.

Tabla 1

MAP_ID               GUEST_ID             DEPARTMENT_ID        PARENT_ID            PREFERENCE_ID
-------------------- -------------------- -------------------- -------------------- --------------------
19                   61                   1                    1                    5
14                   61                   1                    5                    15
15                   61                   2                    4                    10
18                   61                   2                    13                   23
17                   61                   2                    20                   26
16                   61                   40                   40                   41
20                   62                   1                    5                    14
21                   62                   1                    5                    15
22                   62                   1                    6                    16
24                   62                   2                    3                    4
23                   62                   2                    4                    9
27                   62                   2                    13                   23
25                   62                   2                    20                   24
26                   62                   2                    20                   25
28                   63                   1                    1                    5
29                   63                   1                    1                    8
34                   63                   1                    5                    15
30                   63                   2                    4                    10
33                   63                   2                    4                    11
31                   63                   2                    13                   23
32                   63                   40                   40                   41
35                   65                   1                    NULL                 1
36                   65                   1                    NULL                 1
38                   68                   2                    13                   22
37                   68                   2                    20                   25
39                   68                   2                    23                   27
40                   92                   1                    NULL                 1

Tabla 2

Department_ID        Department_Name         Parent_Id             Parent_Name                                                                                                                                                                                                                                              
-------------------- ----------------------- ---------------   ----------------------------------------------------------------------------------
1                    Food                    1, 5, 6               Food, North Indian, South Indian                                                                                                                                                                                                                                           
2                    Lodging                 3, 4, 13, 20, 23      Room, Floor, Non Air Conditioned, With Balcony, Without Balcony                                                                                                                                                                                                                                               
40                   New                     40                    SubNew

TABLA 3

Parent_Id            Parent_Name                                        Preference_ID             Preference_Name
-------------------- -----------------------------------------------  -----------------------  -------------------
NULL                 NULL                                               NULL                     NULL
1                    Food                                               5, 8                     North Indian, Italian
3                    Room                                               4                        Floor
4                    Floor                                              9, 10, 11                First, Second, Third
5                    North Indian                                       14, 15                   X, Y
6                    South Indian                                       16                       Dosa
13                   Non Air Conditioned                                22, 23                   With Balcony, Without Balcony
20                   With Balcony                                       24, 25, 26               Mountain View, Ocean View, Garden View
23                   Without Balcony                                    27                       Mountain View
40                   New                                                41           SubNew 

Tengo estas 3 tablas que están relacionadas de alguna manera como esto.

Tabla 1 será el maestro para estos 2 mesas decir, la Tabla 2 y la Tabla 3.

necesito consulta en ellos como

        SELECT Department_Id, Department_Name, Parent_Name FROM Table2 WHERE Department_Id in 
            (
                SELECT Department_Id FROM Table1 WHERE guest_id=65
            )


        SELECT Parent_Id, Parent_Name, Preference_Name FROM Table3 WHERE PARENT_ID in 
            (
                SELECT parent_id FROM Table1 WHERE guest_id=65 
            )

Ahora necesito utilizar estas consultas en tablas de datos.

Así que estoy usando la sintaxis de consulta para este y llegué hasta este punto.

        var dept_list=  from dept in DtMapGuestDepartment.AsEnumerable()
                        where dept.Field<long>("PK_GUEST_ID")==long.Parse(63)
                        select dept;

Esto me debe dar la lista de todos los departamentos que tiene identificador de invitados = 63

Ahora quiero seleccionar todo departments_name y PARENT_NAME partir de la Tabla 2, donde guest_id = 63 es decir departamentos que Fui a buscar anteriormente.

Este mismo caso será seguido por Tabla3.

Para sugerir cómo hacer esto.

Gracias por mantener la paciencia para leer mi pregunta.

¿Fue útil?

Solución

Bueno, supongamos que tiene 3 IEnumerable vars, uno para cada tabla. Su primera consulta sería la siguiente:

var records = from r1 in table1 where r1.GuestId == 63
              join r2 in table2 on r1.DepartmentId equals r2.DepartmentId
              select r2;

La segunda consulta es casi el mismo que el primero, uniéndose con la tabla 3 en lugar de 2.

var records = from r1 in table1 where r1.GuestId == 63
              join r3 in table3 on r1.ParentId equals r2.ParentId
              select r3;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top