簡體   English   中英

參加此查詢的最佳方法

[英]Best way to join this query

我有以下表格和數據:

Tables
-----------
CREATE TABLE primarys 
( primaryid BIGINT(20) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (primaryid));

CREATE TABLE patients
( primaryid BIGINT(20) NOT NULL,
patientid BIGINT(20),
patientName VARCHAR(50),
PRIMARY KEY (primaryid));

CREATE TABLE patientvisit
( primaryid BIGINT(20) NOT NULL,
visitid BIGINT(20),
visitdate DATE,
PRIMARY KEY (primaryid));

Data
---------
INSERT INTO primarys values (1);
INSERT INTO primarys values (7286);
INSERT INTO primarys values (7287);

INSERT INTO patients VALUES (1,'1','John');
INSERT INTO patients VALUES (7286,'1', '');
INSERT INTO patients VALUES (7287,'1', '');

INSERT INTO patientvisit VALUES (7286,'1','1997-12-18');
INSERT INTO patientvisit VALUES (7287,'2','1998-02-25');

我需要編寫一個查詢,輸出如下數據:

primaryid   |  patientid    |   patientname    |  visit   |  visitdate
------------------------------------------------ 
7286        |   1           |  John            |   1      |  1997-12-18
7287        |   1           |  John            |   2      |  1998-02-25

我可以弄清楚如何使用外部聯接和子查詢來執行此操作,這些聯接工作正常,但是當我開始添加大數據集時,mysql的性能開始顯着下降。

如果有人可以提出最優化的方法來查詢這些數據並獲得所需的輸出,我將不勝感激。

謝謝

對於您在問題中顯示的特定值,此查詢即可。

SELECT q2.primaryid, q_1, q_2, q_4, q_5 FROM questions_101_200 q2
CROSS JOIN questions_1_100 

但是您的數據和結構對我來說沒有多大意義。 如果您詳細說明您要做什么,我可以給您一個更有意義的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM