内部联接查询返回类似的数据集


Inner join queries return similar sets of data

我正试图通过内部联接从两个表中获取数据。我可以选择数据并使用foreach循环打印出来,但我得到了多组相同的数据。

这是我的SQL语句

SELECT workout.*, exercise.ExerciseName, exercise.Sets, exercise.Reps, exercise.Weight
FROM workout
INNER JOIN exercise
ON workout.WorkoutID = exercise.WORKOUTID
WHERE workout.WorkoutID = 1

它带回了WorkoutID、UserID、WorkoutName,&描述三次,尽管它是相同的信息。我想这是因为ExerciseName、Sets、Reps和&重量各不相同。当我循环浏览数据以在它打印数据3次时将其回声出来时,这是有问题的,每次不同的练习一次。

如何获取WorkoutID、UserID、WorkoutName和;描述一次,然后继续获取不同的ExerciseName、Set、Reps和&重量。如果可能的话。

谢谢。

如果您的用户链接到3个具有3个不同权重的练习(如果我误读了问题,请纠正我),您希望只看到WorkoutID, UserID, WorkoutName, & Description一次吗

如果权重相同,并且希望查看一次信息,则可以添加以下命令:选择DISTINCT[…]

总结我的评论作为答案:

当你有多行包含关于单个实体的信息时,比如在这种情况下锻炼的细节,就不可能进行分组来消除锻炼id和用户id的重复,因为它们总是相同的。您想要做的是对每个id的结果进行迭代。