PSLine2000Documentation/Queries/SG Trash Removed Duplicates.md

69 lines
2.6 KiB
Markdown

# SG Trash Removed Duplicates
Analysis generated on: 4/2/2025 10:11:23 AM
---
## SQL Statement
```sql
SELECT [SG Trash Query].Part, Max(((Trim$(Right$([PartNumber],1))))) AS Rev, Max([SG Trash Query].PartNumber) AS MaxOfPartNumber
FROM [SG Trash Query]
GROUP BY [SG Trash Query].Part
ORDER BY [SG Trash Query].Part;
```
## Dependencies
- *None*
## Parameters
- *Error analyzing parameters: For loop not initialized*
## What it does
**SQL Code Description**
=========================
This SQL code snippet performs the following operations on a table named `[SG Trash Query]`:
### 1. Selecting Data
The query selects data from the specified table, including columns `Part`, `PartNumber`, and performing calculations on `PartNumber`.
### 2. Calculating Right-Trimmed Part Number
The code uses the `Right$` function to extract the last character from the `PartNumber` column, and then applies the `Trim$` function to remove any leading or trailing whitespace. The result is stored in a new calculated column named `Rev`.
### 3. Finding Maximum Values
For each group of rows with the same value in the `Part` column, the query uses the `Max` aggregation function to find the maximum values for two columns:
* `Rev`: The last character of the `PartNumber` column (after right-trimming)
* `PartNumber`: The original `PartNumber` column
These maximum values are stored in new calculated columns named `Rev` and `MaxOfPartNumber`, respectively.
### 4. Grouping and Sorting Data
The query groups the data by the `Part` column, which means that rows with the same value in this column will be treated as a single group. The results are then ordered based on the values in the `Part` column.
### 5. Returning Results
Finally, the query returns the grouped and sorted data, including the calculated columns `Rev` and `MaxOfPartNumber`, as well as the original `Part` and `PartNumber` columns.
**Full Code with Explanation**
```markdown
SELECT
[SG Trash Query].Part,
Max(((Trim$(Right$([PartNumber],1))))) AS Rev,
Max([SG Trash Query].PartNumber) AS MaxOfPartNumber
FROM
[SG Trash Query]
GROUP BY
[SG Trash Query].Part
ORDER BY
[SG Trash Query].Part;
```
**Key Terms and Functions Used**
* `SELECT`: The statement used to extract data from a database.
* `[SG Trash Query]`: A reference to the specified table in the database.
* `Trim$` and `Right$`: Functions that manipulate strings (i.e., text data).
* `Max`: An aggregation function that returns the maximum value within a group of rows.
* `GROUP BY`: A clause used to group rows based on one or more columns.
* `ORDER BY`: A clause used to sort the results in ascending or descending order.