Witam,
mam kilka tabel ale pokaże tylko dwie najbardziej istotne:
CREATE TABLE IF NOT EXISTS `visit` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`patient_id` bigint(20) NOT NULL,
`dentist_id` bigint(20) NOT NULL,
`service_id` int(11) NOT NULL,
`visit_status_id` int(11) NOT NULL,
`time_id` int(11) NOT NULL,
`date` date NOT NULL,
`confirmed` tinyint(4) NOT NULL DEFAULT '0',
`description` varchar(255) DEFAULT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `fk_visit_sf_guard_user_idx` (`patient_id`),
KEY `fk_visit_sf_guard_user1_idx` (`dentist_id`),
KEY `fk_visit_service1_idx` (`service_id`),
KEY `fk_visit_visit_status1_idx` (`visit_status_id`),
KEY `fk_visit_time1_idx` (`time_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=21 ;
Druga
CREATE TABLE IF NOT EXISTS `sfguarduser` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`first_name` varchar(255) DEFAULT NULL,
`last_name` varchar(255) DEFAULT NULL,
`email_address` varchar(255) NOT NULL,
`username` varchar(128) NOT NULL,
`algorithm` varchar(128) NOT NULL DEFAULT 'sha1',
`salt` varchar(128) DEFAULT NULL,
`password` varchar(128) DEFAULT NULL,
`is_active` tinyint(4) DEFAULT '0',
`is_super_admin` tinyint(4) DEFAULT '0',
`last_login` datetime DEFAULT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=24 ;
Dane wyświetlam takim joinem:
SELECT visit.date, sfguarduser.first_name, sfguarduser.last_name
FROM `visit`
LEFT JOIN `sfguarduser` ON visit.dentist_id = sfguarduser.id
WHERE visit.dentist_id =2
I ładnie wyświetla mi 3 kolumy wszystkie wizyty dentysty jakie miał:
date, first_name, last_name
Tylko mam problem chciał bym aby w tym jednym zapytaniu wyświetlić jeszcze imię i nazwisko pacjęta.
Nie wiem jak o zrobić w jednym zapytaniu.
Kolumna patient_id jest w tabeli 'visit' a jego id w tabeli 'sfguarduser'.
Jak ktoś by mógł pomóc.