JSFiddle - React, Tailwind, and code Playground

by Andrey Gershun

HTML

<script src="http://alasql.org/console/alasql.min.js"></script>
<p>Result()</p><div id="res"></div>

CSS

table {border:1px solid black}

JavaScript

var data = [
{ Phase: "Phase 1", Step: "Step 1", Task: "Task 1", Val: 5 },

{ Phase: "Phase 2", Step: "Step 1", Task: "Task 1", Val: 25 },

{ Phase: "Phase 2", Step: "Step 2", Task: "Task 2", Val: 40 },
{ Phase: "Phase 3", Step: "Step 2", Task: "Task 2", Val: 40 },
{ Phase: "Phase 3", Step: "Step 2", Task: "Task 2", Val: 40 },
{ Phase: "Phase 3", Step: "Step 2", Task: "Task 2", Val: 40 },
];

alasql('CREATE TABLE phases (Phase string, Step string, Task string, Val int)');
alasql('SELECT * INTO phases FROM ?',[data]);
    
var res = alasql('SELECT * FROM phases q WHERE (SELECT COUNT(*) FROM phases t WHERE t.Phase = q.Phase) = 2');

document.getElementById('res').textContent = JSON.stringify(res);