Hoe de eerste en tweede arts te tonen om een ​​patiënt te zien?

Ik moet een tabel maken waar veel kolommen uit een tabel en twee weergaven uitkomen. Het weergeven van de kolommen is geen probleem. Het probleem speelt een rol wanneer ik twee kolommen moet gebruiken om een ​​patiënt te tonen die diensten heeft ontvangen van de eerste twee verschillende artsen (arts_1 en arts_2). Elke arts heeft zijn eigen ID. Ik weet niet zeker of ik de "distinctieve top (2)", "rang", enz. Zou moeten gebruiken ... Hier is hoe het eruit ziet.

Datum, Achternaam, Voornaam, Adres, Plaats, Staat, Postcode, Hostitaal, Kamer, Dokter_1, Dokter_2

Alle hulp zou zeer op prijs worden gesteld.

0
wat? Ik begrijp niet wat u vraagt, zegt u dat u niet genoeg kolommen heeft om alle gegevens op te slaan, als dat het geval is, voegt u meer kolommen toe
toegevoegd de auteur user1078803, de bron
sorry, ik weet het niet.
toegevoegd de auteur user1078803, de bron
Nee, dat zeg ik niet. Ik weet niet zeker hoe ik de eerste en tweede keer moet toevoegen dat de arts de patiënt heeft gezien. De kolommen Doctor_1 en Doctor_2 moeten worden gemaakt met de twee verschillende dokters-ID's die de patiënt hebben gezien. Hoe krijg ik de datum voor elke arts en laat ik hun ID's eerst op volgorde vermelden (arts_1) en ten tweede (dokter_2) en herhaal ik ze voor alle andere patiënten?
toegevoegd de auteur user1084523, de bron

1 antwoord

Laten we aannemen dat je tabel er als volgt uit ziet:

doctor_patients:

doctor_id int,
patient_id int,
visit_date datetime

In dat geval kunt u een zoekopdracht schrijven die lijkt op het volgende:

select a.patient_id, b.doctor_id as doctor_1, b.visit_time_max as doctor_1_visit_time, a.doctor_id as doctor_2, max(a.visit_time) as doctor_2_visit_time
from doctor_patients a 
inner join 
(select patient_id, doctor_id, max(visit_time) as visit_time_max
from doctor_patients 
where visit_time < a.visit_time
and patient_id = a.patient_id
and doctor_id = a.doctor_id) b

Je kunt altijd een where-component plaatsen aan het einde van de staart en filters toepassen op de "a" -tabel. Ik ben niet zeker of deze vraag zoals-is zal lopen omdat ik het niet op SQL heb geprobeerd. Maar ik hoop dat dit je een algemeen idee geeft over wat je moet doen. Er zijn misschien betere manieren om dit te bereiken met de nieuwste SQL-functies, maar dit zou u moeten helpen. Ik hoop dat dit het antwoord is waarnaar je op zoek was!

0
toegevoegd