Si, yo creo que tienes que deshacer el producto cartesiano, no?
Es decir en la clausula where igualar las dos columnas que relacionan las dos tablas.
Todo esto si te he entendido bien, que tampoco tengo muy claro lo que preguntas.
Estoy sacando unos datos con un query haciendo un outer join con otra tabla cogiendo datos relacionados por un par de columnas idénticas.
El resultado son 5 columnas
--------------------------------
Columna con un nombre (a)
Columna con una fecha (b)
Columna con un ID (c)
Columna con otro nombre (d)
Columna con un string enorme con valores separados por comas (e)
El caso es que con la consulta intento agrupar los elementos duplicados para que salgan los registros lo más limpios posibles y que no me salgan repetidas las columnas, especialmente por los elementos A, ya que son muy identificativos para lo que los quiero
Sin embargo al agruparlos, el segundo valor B, le pongo un max porque es una fecha, al resto de valores los añado al "group by"
Sin embargo me devuelve valores en A,B,C y D duplicados simplemente porque hay varoes en E que son distintos en un peuqeño punto. y por esa razón me los muestra dos veces... ¿hay algún método de que para representar la columna E coja solo uno de los valores, al igual que hace MAX, MIN, AVG y demás, que coja por ejemplo la longitud de string más corta entre los repetidos de la columna E
SI me expliqué poco claro por favor decídmelo
CPU: AMD Ryzen 7 5900X PlaBa: Gigabyte Aorus Master x570 GPU: KFA2 Nvidia GTX 3080 10 GB GDDR6; RAM: DDR4 Corsair LPX 32 GB @3733 CL16-19-19-18-36; SSD: Sabrent 1 TB, Samsung 980 EVO 1 TB; HDD: Western Digital Caviar Green 4 TB 5400; Monitor: BenQ BL2711U 27" IPS LED; SO: Windows 10 Pro 64 bits Disipador: Scythe Mugen 5 PCGH; Fuente: Corsair RM850x
Portatil: Lenovo CPU: 5300U , GPU: Radeon Graphics Vega, HDD: M.2 Crucial 512 GB, RAM: 16 GB@3200
Smartphone: Samsung Galaxy S23 Ultra 512 GB
Si, yo creo que tienes que deshacer el producto cartesiano, no?
Es decir en la clausula where igualar las dos columnas que relacionan las dos tablas.
Todo esto si te he entendido bien, que tampoco tengo muy claro lo que preguntas.
PC: Intel i3 4160 @3.6GHz | Nvidia Geforce GTX960 @1366/7000 | 2x4GB G-Skill DDR3 2133 | Gigabyte Z97X Gaming 5 | Corsair VX550 y/o RM850i | Cooler Master Seidon 120v | Crucial MX500 500GB + Seagate 7200.14 2TB | Cooler Master CM690 II Advanced | Corsair K70 RapidFire RGB | ViewSonic XG2402 1080p 144Hz
PC Casa: Intel i3 3220 @3.3GHz | 2x4GB G-Skill DDR3 1600 | Gigabyte GA-Z68X-UD3H | Corsair CX500 | Intel Stock Cooler | Seagate 7200.14 1TB | Tacens Initio | Fujitsu FSK-105W
Hola.
Con la columna e puedes hacer lo mismo que con la fecha, usar la función max ( por supuesto, sacándola del group by )
Salu2
Haz el amor y no la guerra