sql >> Database teknologi >  >> RDS >> Mysql

mysql - vis 2 separate udbydernavn fra 1 udbydertabel

Du kan bruge dette:

vælg se.svcid, p1.pname som serviceudbyder, p2.pname som tmidprovider fra tmid tinner join (vælg sno, max(svcid) som maxsvcid fra servicegruppe af sno) s på t.sno =s.sno og t.`default` ='Y'inner join-tjeneste se på se.svcid =s.maxsvcidleft join-udbyder p1 på se.pid =p1.pidleft join-udbyder p2 på t.pid =p2.pid; 

Tabel

opret tabeltjeneste (svcid int, sno varchar(20), pid int);indsæt i tjenesteværdier (1, '11-11-11-11', 1), (2, '11-11 -11-11', 2), (3, '11-11-11-12', 1), (4, '11-11-11-12', 2), (5, '11-11-11 -13', NULL);opret tabel tmid (id int, sno varchar(20), pid int, `default` char(1));indsæt i tmid-værdier(1, '11-11-11-11', 1 , 'N'),(2, '11-11-11-11', 2, 'Y'),(3, '11-11-11-12', 1, 'N'),(4, ' 11-11-11-12', 2, 'Y'),(5, '11-11-11-13', 2, 'Y'),(6, '11-11-11-13', 3 , 'N');opret tabeludbyder (pid int, pname varchar(20));indsæt i udbyderværdier (1, 'Ambank'), (2, 'Citybank'), (3, 'CIMB Bank'); 

Data

mysql> vælg * fra tjenesten;+-------+-------+------+| svcid | sno | pid |+-------+-------------+------+| 1 | 11-11-11-11 | 1 || 2 | 11-11-11-11 | 2 || 3 | 11-11-11-12 | 1 || 4 | 11-11-11-12 | 2 || 5 | 11-11-11-13 | NULL |+-------+-------------+------+mysql> vælg * fra tmid;+------+--- ----------+------+---------+| id | sno | pid | default |+------+-------------+------+--------+| 1 | 11-11-11-11 | 1 | N || 2 | 11-11-11-11 | 2 | Y || 3 | 11-11-11-12 | 1 | N || 4 | 11-11-11-12 | 2 | Y || 5 | 11-11-11-13 | 2 | Y || 6 | 11-11-11-13 | 3 | N |+------+-------------+-------+--------+mysql> vælg * fra udbyderen;+- -----+-----------+| pid | pname |+------+-----------+| 1 | Ambank || 2 | Citybank || 3 | CIMB Bank |+------+-----------+ 

Resultat

+------+-----------------+-------------+| svcid | tjenesteudbyder | tmidprovider |+-------+------------------------+-------------+| 2 | Citybank | Citybank || 4 | Citybank | Citybank || 5 | NULL | Citybank |+-------+------------------------+------------+


  1. Sådan tilføjes præfiks for alle tabeller i mysql

  2. Hvordan påvirker Java til OS X 2013-004 (brud) Swing-applikationer?

  3. Transponer rækker til overskrifter i MYSQL

  4. Databasetabeller, én tabel, der refererer til flere ikke-relaterede tabeller