I have the following tables:
Workers (id, total_pay, date_of_pay, projects_id)
Payments (id, payment, date, projects_id)
building_materials(id, pay_of_materials, date, projects_id)
additional(id, add_pay, date, projects_id)
Where projects_id is a foreign key for all of them. I tried to make a query to select all dates from all tables where projects_id = projects_id, I have this statement now:
SELECT workers.date_of_pay, payments.date, building_materials.date, additional.date FROM
workers
INNER JOIN
payments ON workers.projects_id = payments.projects_id
INNER JOIN
building_materials ON payments.projects_id = building_materials.projects_id
INNER JOIN
additional ON building_materials.projects_id = additional.projects_id;
What exactly I want, and can't figure it out, is how to use GROUP BY to group by every field, and how to display all columns into one, in one drop down list box ? I have this list box code:
<select name="Date" required class="form-control" id="Date">
<option value="">اختر التاريخ</option>
<?php $sql=" SELECT workers.date_of_pay, payments.date, building_materials.date, additional.date FROM
workers
INNER JOIN
payments ON workers.projects_id = payments.projects_id
INNER JOIN
building_materials ON payments.projects_id = building_materials.projects_id
INNER JOIN
additional
ON
building_materials.projects_id = additional.projects_id AND additional.projects_id = ".$id;
$result = mysqli_query($con, $sql) or die($sql."<br/><br/>".mysql_error());
while($rows=mysqli_fetch_array($result)){?>
<option value="<?php echo $rows['date'] ?>"><?php echo $rows['date'] ?></option>
<?php } ?>
</select>
So, later, I can select a date from drop list and get the info. So how I can group by, and echo result into drop down list.
EDIT After using concat():
SELECT concat(workers.date_of_pay, payments.date, building_materials.date, additional.date) AS date FROM
workers
INNER JOIN
payments ON workers.projects_id = payments.projects_id
INNER JOIN
building_materials ON payments.projects_id = building_materials.projects_id
INNER JOIN
additional ON building_materials.projects_id = additional.projects_id
I have got this:
But I want only one date in each row.