根据第一个记录值获取行

时间:2012-09-15 18:30:02

标签: mysql sql

所以我有一个看起来像这样的表:

field_value      field_label        record_id        data_element        data_id
                    8-7-1966             8            immunization           163
  8-7-1966          1966-8-7            163           immunizDate            164
                                        163           immunizProvider        165

我需要动态地抓取所有这三个记录。我可以通过以下方式获得第一条记录:

SELECT 
    field_value, field_label, record_id, data_element, data_id 
FROM 
    substance_data 
WHERE 
record_id = 8

但我需要以某种方式获取其他两条记录,因为他们知道他们的record_id将等于第一条记录的data_id。

1 个答案:

答案 0 :(得分:2)

SELECT 
    field_value, field_label, record_id, data_element, data_id 
FROM substance_data 
WHERE 
    record_id = 8 
OR  record_id IN (SELECT DISTINCT 
                      data_id 
                  FROM 
                      substance_data 
                  WHERE 
                      record_id = 8
                 )