PSLine2000Documentation/Queries/Processes by material 2.md

76 lines
3.0 KiB
Markdown

# Processes by material 2
Analysis generated on: 4/2/2025 10:06:04 AM
---
## SQL Statement
```sql
SELECT [Processes by material].prt, Max([Processes by material].Rev) AS Rev, Max([Processes by material].PartNumber) AS PN INTO [Process by material]
FROM [Processes by material]
GROUP BY [Processes by material].prt
ORDER BY [Processes by material].prt, Max([Processes by material].Rev) DESC;
```
## Dependencies
- *None*
## Parameters
- [Forms]![Material Upgrade]![txtMaterial] (Empty)
## What it does
**SQL Query: Extracting Process Information by Material**
### Overview
This SQL query extracts and aggregates process information from a table named `[Processes by material]`. It calculates the maximum revision number (`Max([Processes by material].Rev)`) and part number (`Max([Processes by material].PartNumber)`) for each unique process identifier (`[Processes by material].prt`).
### Query Breakdown
#### 1. `SELECT` Clause
```markdown
SELECT [Processes by material].prt, Max([Processes by material].Rev) AS Rev,
Max([Processes by material].PartNumber) AS PN
```
* Selects the following columns:
* `[Processes by material].prt`: The process identifier.
* `Max([Processes by material].Rev) AS Rev`: The maximum revision number for each process. The alias `Rev` is used to give it a meaningful name in the output.
* `Max([Processes by material].PartNumber) AS PN`: The maximum part number for each process. The alias `PN` is used to give it a meaningful name in the output.
#### 2. `FROM` Clause
```markdown
FROM [Processes by material]
```
* Specifies the table from which to extract data: `[Processes by material]`.
#### 3. `GROUP BY` Clause
```markdown
GROUP BY [Processes by material].prt
```
* Groups the extracted data by the process identifier (`[Processes by material].prt`). This means that all rows with the same value in this column will be grouped together.
#### 4. `ORDER BY` Clause
```markdown
ORDER BY [Processes by material].prt, Max([Processes by material].Rev) DESC;
```
* Orders the grouped data first by the process identifier (`[Processes by material].prt`) and then by the maximum revision number in descending order (`Max([Processes by material].Rev)`). This ensures that processes with higher revision numbers appear before those with lower revision numbers, while still maintaining their original ordering based on the process identifier.
#### 5. `INTO` Clause
```markdown
INTO [Process by material]
```
* Specifies a destination table where the processed data will be stored: `[Process by material]`.
### Result
The resulting table `[Process by material]` contains the following columns:
| Column Name | Data Type |
| --- | --- |
| `prt` | `string` |
| `Rev` | `integer` |
| `PN` | `integer` |
Where:
* `prt`: The process identifier.
* `Rev`: The maximum revision number for each process.
* `PN`: The maximum part number for each process.
This query helps identify the most up-to-date process information, including the highest revision and part numbers, for each unique process identifier.