Avatar billede dmg Nybegynder
24. juni 2015 - 00:14 Der er 6 kommentarer

Kan man anvende alias til at returnere og rename resultset'et

Hej experts,

Sorry er paa US keyboard :-/

Jeg har en tabel "equipment" og en
tabel "configuration_manufacture_supplier".

"equipment" har en masse columns med id'er der tilhoerer andre tabeller, men hvor jeg har problemet er "equipment_manufacture_id" og "equipment_supplier_id" i "equipment" tabellen. Disse Id'er bliver nemlig hentet fra "configuration_manufacture_supplier" tabellen.
Noer jeg anvender nedesnstoende query er column navenet det samme fordi det er samme tabel, men jeg anvender den til boede manufacture og supplier. Er der en moede man kan returner resultset'et saa navnet bliver omdoebt?

configuration_manufacture_supplier - Kunder
equipment - Udstyr som er tilknyttet en manufacture eller supplier eller begge.

SELECT * FROM equipment e LEFT JOIN configuration_manufacture_supplier as manufacture ON e.equipment_manufacture_id = manufacture.manufacture_supplier_id
LEFT JOIN configuration_manufacture_supplier as supplier ON e.equipment_supplier_id = supplier.manufacture_supplier_id
24. juni 2015 - 12:08 #1
Du kan vel gøre således:

SELECT e.equipment_manufacture_id AS abc, e.equipment_supplier_id AS def, * FROM equipment e o.s.v.

Så får du equipment_manufacture_id og equipment_supplier_id to gange, men første gang med et omdøbt navn.
Avatar billede dmg Nybegynder
24. juni 2015 - 22:15 #2
Hej Christian,

Tak for svar. Jeg er ik helt sikker paa hva du mener...

configuration_manufacture_supplier tabellen har nedenstoende felter:

manufacture_supplier_id, company_name, company_address, company_country, company_phone, company_fax, company_email_address, company_notes, company_type, company_created

Jeg ville gerne lave en join fra equipment tabellen der viser resultset'et soeledes:

Manufacture:
m.manufacture_supplier_id, m.company_name, m.company_address, m.company_country, m.company_phone, m.company_fax, m.company_email_address, m.company_notes, m.company_type, m.company_created

Supplier:
s.manufacture_supplier_id, s.company_name, s.company_address, s.company_country, s.company_phone, s.company_fax, s.company_email_address, s.company_notes, s.company_type, s.company_created

Kan det lade sig goerer?
25. juni 2015 - 08:02 #3
Hvad får du hvis du laver din join således:

SELECT * FROM equipment e LEFT JOIN configuration_manufacture_supplier as m ON e.equipment_manufacture_id = m.manufacture_supplier_id
LEFT JOIN configuration_manufacture_supplier as s ON e.equipment_supplier_id = s.manufacture_supplier_id
Avatar billede kjulius Novice
05. juli 2015 - 19:16 #4
Alternativt, måske er det ikke en join med omdøbte feltnavne, men en UNION du eftersøger? Den måde du angiver, du vil have resultatsættet præsenteret, kunne godt tyde på det. I så fald, bør dette med noget tilretning kunne bruges:

SELECT e.*, 'Manufacturer' AS Reference, m.manufacture_supplier_id AS Id, m.company_name, m.company_address, m.company_country, m.company_phone, m.company_fax, m.company_email_address, m.company_notes, m.company_type, m.company_created
FROM
    equipment e
INNER JOIN
    configuration_manufacture_supplier m
        ON e.equipment_manufacture_id = m.manufacture_supplier_id
UNION ALL
SELECT e.*, 'Supplier' AS Reference, s.manufacture_supplier_id AS Id, s.company_name, s.company_address, s.company_country, s.company_phone, s.company_fax, s.company_email_address, s.company_notes, s.company_type, s.company_created
FROM
    equipment e
INNER JOIN
    configuration_manufacture_supplier s
        ON e.equipment_supplier_id = s.manufacture_supplier_id
ORDER BY Reference, company_name
18. juli 2015 - 13:02 #5
dmg, hvad så, fik du kikket på det?  Hvis spørgsmålet ikke længere er aktuelt, så luk det venligst igen.  Ellers kom ind og fortæl hvad din videre hensigt er.
14. januar 2016 - 18:53 #6
dmg, jeg prøver lige en gang mere.  Kan jeg bede dig afslutte hvad du begyndte og lukke dette spørgsmål igen?  Hvis du ikke mener du har fået brugbar hjælp, så opret selv et svar og luk med det.  Alternativt kom ind og forklar hvad din videre hensigt med spørgsmålet er.  Please.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester