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

SQL заявка за избор на отделни редове от лявата таблица след вътрешно присъединяване към дясната таблица

Вашата заявка трябва да бъде като:

$query = "
    select t1.id, t1.title, t1.description, group_concat(t2.size SEPARATOR ",") as sizes
    from products as t1
       inner join sizes as t2 on t1.id=t2.id
    where t1.id in (select t3.id from sizes as t3 where t3.size in (".$size_list .")
    group by t1.id, t1.title, t1.description
"

Малко обяснение. Когато присъедините две таблици, получавате всички редове от таблица sizes за всички id от таблица products , така че id =1 се съединява с четири записа и id =2 се свързва с два записа. Така че трябва да обедините тези числа в един запис.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да покажа дата като iso 8601 формат с PHP

  2. Какво точно означава M,D в десетична (M,D)?

  3. Как мога да проверя дали MySQL и Tomcat работят?

  4. Получаване на всички деца (и техните деца) на даден родителски възел в релационна таблица на MySQL/MariaDB

  5. delphi dxExpress MySQL:невалидна стойност LAST_INSERT_ID