Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySql]
--gość--
post
Post #1





Goście







Mam następujący układ tabel:

  1. CREATE TABLE `project` (
  2. `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `firm_id` INT(10) UNSIGNED NULL DEFAULT NULL,
  4. `status` ENUM('active','notactive') NOT NULL DEFAULT 'notactive',
  5. `price` SMALLINT(5) UNSIGNED NULL DEFAULT NULL,
  6. `title` VARCHAR(50) NOT NULL,
  7. `url` VARCHAR(255) NOT NULL,
  8. `description` TEXT NULL,
  9. `start` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
  10. `end` TIMESTAMP NULL DEFAULT NULL,
  11. PRIMARY KEY (`id`),
  12. INDEX `FK_project_firm` (`firm_id`),
  13. CONSTRAINT `FK_project_firm` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON UPDATE CASCADE ON DELETE SET NULL
  14. )
  15. COLLATE='utf8_general_ci'
  16. ENGINE=InnoDB
  17. ROW_FORMAT=DEFAULT
  18. AUTO_INCREMENT=39
  19.  
  20.  
  21. CREATE TABLE `image` (
  22. `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  23. `project_id` INT(10) UNSIGNED NULL DEFAULT NULL,
  24. `position` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
  25. `date` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
  26. PRIMARY KEY (`id`),
  27. INDEX `FK__project` (`project_id`),
  28. INDEX `position` (`position`),
  29. CONSTRAINT `FK__project` FOREIGN KEY (`project_id`) REFERENCES `project` (`id`) ON UPDATE CASCADE ON DELETE SET NULL
  30. )
  31. COLLATE='utf8_general_ci'
  32. ENGINE=InnoDB
  33. ROW_FORMAT=DEFAULT
  34. AUTO_INCREMENT=25


Każdy projekt może mieć przypisane do siebie wiele zdjęć, zdjęcia mają swoją pozycję. Pozycja zdjęcia może ulegać zmianie. Chciałbym wyciągnąć z bazy wszystkie wpisy, gdzie status projektu jest równy active, posiada zdjęcie i dodatkowo chcę id zdjęcia o najniższej pozycji.

Całe złączenie mam, tylko nie wiem jak wymusić pobranie nie losowego zdjęcia z projektu, a tego który ma najniższą pozycję
  1. SELECT
  2. project.id,project.title, project.url, project.description, firm.name, image.id, image.position
  3. FROM
  4. project
  5. LEFT JOIN firm ON project.firm_id = firm.id
  6. JOIN image ON image.project_id = project.id
  7. WHERE
  8. project.STATUS = 'active'
  9. ORDER BY
  10. 'end' DESC


Go to the top of the page
+Quote Post

Posty w temacie
- -gość-   [MySql]   18.02.2012, 12:10:05
- - jaslanin   http://bytes.com/topic/mysql/answers/81957...diffe...   18.02.2012, 13:44:04


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 10:39