Соединение таблиц значений 2 с другой таблицей в MySQL с использованием внутреннего соединения - PullRequest
0 голосов
/ 21 октября 2019

У меня здесь 4 таблицы:

tbldepartments
+-----+--------------+
|DID  |departments   |
+-----+--------------+
|101  |Cardiography  |
|102  |X-Ray         |
|103  |Laboratory    |
|104  |Ultrasound    |
|105  |CT-Scan       |
+-----+--------------+
tblservices
+-----+-----------------+-----------+
| SID | procedures      | amount    |
+-----+-----------------+-----------+
| 301 | 2D-Echo         | 2,500     |
| 302 | Urinalysis      | 80        |
| 303 | Fecalysis       | 100       |
| 304 | Pelvis          | 1,200     |
| 305 | HBT             | 1,300     |
| 306 | holter 24 hours | 5500      |
+-----+-----------------+-----------+

tblservperdept - моя таблица для слияния значений моих первых 2 таблиц

tblservperdept

+-----+------+------+
| RID | DID  | SID  |
+-----+------+------+
| 401 | 101  | 301  |
| 402 | 103  | 302  |
| 403 | 103  | 303  |
| 404 | 102  | 304  |
| 405 | 104  | 305  |
+-----+------+------+

Теперь вот моя проблема. Я хочу вызвать мое значение в таблице отделов и служб, используя «tblservperdept» для этой таблицы. это:

+--------+----------+-----------+------+------+------+------------+-----------+
| TID    | plname   | pfname    | DID  | SID  | qty  | diagdate   | efname    |
+--------+----------+-----------+------+------+------+------------+-----------+
| 190011 | Soberano | Elizabeth | 101  | 301  | 1    | 2019-04-23 | Oliver    |
| 190012 | Anderson | Elliot    | 104  | 305  | 1    | 2019-04-28 | Oliver    |
| 190009 | Stark    | Anthony   | 103  | 302  | 1    | 2019-04-09 | Alexia    |
| 190010 | Rogers   | Steve     | 102  | 304  | 1    | 2019-04-15 | Alexia    |
| 190013 | Watson   | Emma      | 103  | 303  | 1    | 2019-05-01 | Chantelle |
+--------+----------+-----------+------+------+------+------------+-----------+

1 Ответ

0 голосов
/ 21 октября 2019

Вам также необходимо JOIN к вашим tbldepartments и tblservices, используя значения в tblservperdept:

SELECT t.TID, p.plname, p.pfname, d.departments, sv.procedures, sv.amount, t.qty, t.diagdate, s.efname 
FROM tbltransaction t
INNER JOIN tblpatientdata p ON t.PID = p.PID
INNER JOIN tblservperdept sd on t.RID = sd.RID
INNER JOIN tbldepartments d ON d.DID = sd.DID
INNER JOIN tblservices sv ON sv.SID = sd.SID
INNER JOIN tblstaff s on t.EID = s.EID

Обратите внимание, используя псевдонимы таблиц, мы можем сделать запрос намного более читабельным. .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...