我有以下表格和数据:
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性能开始显着下降。
如果有人能够建议最优化的方式来查询这些数据并获得所需的输出,我将非常感激。
由于
答案 0 :(得分:0)
对于您在问题中显示的具体值,此查询可以执行此操作。
SELECT q2.primaryid, q_1, q_2, q_4, q_5 FROM questions_101_200 q2
CROSS JOIN questions_1_100
但是你的数据和结构对我来说没有多大意义。如果你详细解释你想要做什么,我可以给你一个更有意义的答案。