Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-03-2022
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.490
Poder: 21
MAXIUM Va camino a la fama
¿Cómo hacer un JOIN con la misma tabla?

Hola que tal, aquí fastidiando de nuevo.

La verdad es que me cuesta expresar mis ideas, así que trataré de ser lo más básico posible.

Tengo esta tabla
Código:
CABINA  |TIPO|ESTADO|
--------|----|------|
CABINA01|A   |OK    |
CABINA01|B   |LISTO |
CABINA02|B   |OK    |
CABINA02|A   |OK    |
CABINA03|A   |LISTO |
CABINA03|B   |OK    |
CABINA04|B   |OK    |
CABINA04|A   |LISTO |
CABINA05|A   |OK    |
CABINA05|B   |OK    |
CABINA06|B   |LISTO |
CABINA06|A   |OK    |
CABINA07|A   |OK    |
CABINA07|B   |LISTO |
CABINA08|B   |OK    |
CABINA08|A   |LISTO |
CABINA09|B   |OK    |
CABINA09|A   |OK    |
CABINA10|B   |LISTO |
CABINA10|A   |OK    |
Quiero hacer una consulta que me arroje el resultado de este modo
Código:
CABINA  |TIPO|ESTADO|TIPO|ESTADO|
--------|----|------|----|------|
CABINA01|A   |OK    |B   |LISTO |
CABINA02|B   |OK    |A   |OK    |
CABINA03|A   |LISTO |B   |OK    |
CABINA04|B   |OK    |A   |LISTO |
CABINA05|A   |OK    |B   |OK    |
CABINA06|B   |LISTO |A   |OK    |
CABINA07|A   |OK    |B   |LISTO |
CABINA08|B   |OK    |A   |LISTO |
CABINA09|B   |OK    |A   |OK    |
CABINA10|B   |LISTO |A   |OK    |
Aún que quedará mejor de este otro modo
Código:
CABINA  |TIPO|ESTADO|TIPO|ESTADO|
--------|----|------|----|------|
CABINA01|A   |OK    |B   |LISTO |
CABINA02|A   |OK    |B   |OK    |
CABINA03|A   |LISTO |B   |OK    |
CABINA04|A   |LISTO |B   |OK    |
CABINA05|A   |OK    |B   |OK    |
CABINA06|A   |OK    |B   |LISTO |
CABINA07|A   |OK    |B   |LISTO |
CABINA08|A   |LISTO |B   |OK    |
CABINA09|A   |OK    |B   |OK    |
CABINA10|A   |OK    |B   |LISTO |
Nota 1: Pueden existir mucho más cabinas, pero todas vienen así. En pares.
Nota 2: Tipo solo puede ser A o B.
Nota 3: Pueden haber más estados.

Puse JOIN en el titulo solo porque intuyo que la consulta debe incluirlo

Gracias como siempre
Responder Con Cita
  #2  
Antiguo 20-03-2022
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.490
Poder: 21
MAXIUM Va camino a la fama
Creo que lo conseguí

Código SQL [-]
SELECT P1.*, P2.*
FROM PRUEBA P1
LEFT JOIN PRUEBA P2 
ON P1.CABINA = P2.CABINA
WHERE P1.TIPO <> 'B' AND P2.TIPO <> 'A'
ORDER BY P1.CABINA;

De todos modos agradecería qué revisaran mi sentencia
Responder Con Cita
  #3  
Antiguo 22-03-2022
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.235
Poder: 20
ElKurgan Va camino a la fama
Thumbs up

Gracias por compartir la solución

Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Cómo hacer que una aplicación inicie a la misma vez que windows ? Master23 Varios 6 30-04-2010 23:18:30
Cómo hacer para que muchos checkbox usen la misma función? Shikanda Varios 7 12-09-2007 17:27:48
Como copiar campos en una misma tabla JefeNet Conexión con bases de datos 6 28-06-2006 11:13:01
Como copiar un registro en la misma tabla... ilichhernandez Conexión con bases de datos 3 19-12-2005 17:31:25
Como puedo hacer la consulta del Hilo con un JOIN Ricardojosep SQL 1 01-10-2005 19:14:22


La franja horaria es GMT +2. Ahora son las 06:02:22.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi