# Merge rows (diff)

The Merge rows (diff) step compares and merges data within two rows of data. This step is useful for comparing data collected at two different times. For example, the source system of your data warehouse might not contain a timestamp of the last data update. You could use this step to compare the two data streams and merge the dates and timestamps in the rows.

Based on keys for comparison, this step merges reference rows (previous data) with compare rows (new data) and creates merged output rows. A flag in the row indicates how the values were compared and merged. Flag values include:

* **identical**

  The key was found in both rows, and the compared values are identical.
* **changed**

  The key was found in both rows, but one or more compared values are different.
* **new**

  The key was not found in the reference rows.
* **deleted**

  The key was not found in the compare rows.

If the rows are flagged as `deleted`, the merged output rows are created based upon the original reference rows stream.

For `identical`, `new`, or `changed` rows, the merged output rows are created based upon the original compare rows stream.

You can also send values from the merged and flagged rows to a subsequent step in your transformation, such as the [Switch-Case](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/switch-case.md) step or the [Synchronize after merge](https://wiki.pentaho.com/display/EAI/Synchronize+after+merge) step. In the subsequent step, you can use the flag field generated by Merge rows (diff) to control updates/inserts/deletes on a target table.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pentaho.com/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/merge-rows-diff.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
