精確匹配,我有以下表(只列出所需的屬性)SQL查詢在多對多關係
- 醫藥(ID,姓名),
- 通用(ID,姓名),
- med_gen(med_id引用藥(ID),GEN_ID引用通用(ID),效價)
樣本數據
醫藥
- (1, '藏紅花素')
- (2, 'Stamlo')
- (3, 'NT KUF')
通用
- (1, 'Hexachlorodine')
- (2,'Methyl Benzoate')
med_gen
- (1,1, '100毫克')
- (1,2, '50毫升')
- (2,1, '100毫克')
- (2,2, '60毫升')
- (3,1, '100毫克')
- (3,2, '50毫升')
我想所有這些等同於一個給定的MED藥品icine。這些藥物具有相同的通用性和相同的效力。在上述示例數據中,所有三者都具有相同的泛型,但只有1和3對相應的泛型具有相同的效力。所以1和3是等同的藥物。
我想找出藥物ID相同的藥物。
注:一種藥可能有任何數量的仿製藥。藥表有102000個記錄,2200年左右的通用表和200000個記錄的有效表。所以表演是一個關鍵點。
注2:MySQL中使用的數據庫。
你是說你不想包括2即使它具有相同的通用符號,'六氯代碘'甚至具有相同的效力,因爲「甲基苯甲酸酯」的通用名稱具有不同的效力? – Steve
@Steve是的。因爲兩種藥物只有在具有完全相同的仿製藥和完全相同的藥效時才相同。 – vagabondtechie