Mysql
 sql >> база данни >  >> RDS >> Mysql

как да комбинирате таблици с релации 1 към много в 1 ред на запис

Тайната е да се присъедините към tbl_equipwarranty два пъти - като използвате 2 различни псевдоними. Един за гаранцията за обслужване и един за гаранцията на продукта. Можете да направите това, като посочите типа услуга като част от присъединяването. Следното използва ANSI присъединявания, така че вероятно ще работи във firebird и mysql:

SELECT
    a.equipmentid,
    a.codename,
    a.name,
    a.labelid,
    a.ACQUISITIONDATE,
    a.description,
    a.partofid,
    w1.warrantyid as serviceidwarranty, 
    w1.startdate, 
    w1.enddate,
    w2.warrantyid as productidwarranty, 
    w2.startdate, 
    w2.enddate
FROM TBL_EQUIPMENTMST a 
INNER JOIN tbl_equipwarranty w1 
    ON w1.equipmentid = a.equipmentid AND w1.servicetype = 'service'
INNER JOIN tbl_equipwarranty w2 
    ON w2.equipmentid = a.equipmentid AND w2.servicetype = 'Product'
WHERE
a.partofid = '57'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. изтрийте всички записи от таблицата в mysql

  2. ПРИСЪЕДИНЕТЕ СЕ с GROUP BY в нормализирана БД за ресурси, теми и глави

  3. Групирайте публикациите по дата в Wordpress

  4. slqlalchemy UniqueConstraint VS Index(unique=True)

  5. Трябва ли да mysql_real_escape_string въведената парола във формуляра за регистрация?