我正试图通过内部联接从两个表中获取数据。我可以选择数据并使用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的结果进行迭代。