选择人员及其多个字母ID?

时间:2019-05-31 17:43:39

标签: sql sql-server

尝试使用sql从“例如波士顿”位置抓取所有用户并抓取其所有字母ID。例如,它应该返回类似于以下内容的内容:

username  | letterID
Sam Smith | 5278665, 674943, 6549343
Jane Lenna| 8759385, 439533

在我的人员表中,我有:用户ID,用户名,位置等。
在我的信函表格中,我有:letterID,userID,标题,描述等。

3 个答案:

答案 0 :(得分:1)

您应该只使用join

select a.username, b.letterID from persons a, letter b where a.userID = b.userID and a.location = 'Boston';

结果将是两列,分别包含用户名和相应的字母ID。用户在结果集中的行数将与他的字母一样多。

username  | letterID
Sam Smith | 5278665
Sam Smith | 674943
Sam Smith | 6549343
Jane Lenna| 8759385
Jane Lenna| 439533

如果您在结果中多次看到相同的用户名和字母ID,而不仅仅是在查询中使用distinct

遍历结果行并以您喜欢的方式处理数据,包括将它们插入您认为对您的任务合理的数据结构中。

答案 1 :(得分:1)

尝试这样的事情:

SELECT
  p.username,
  l.letterID
FROM
  Persons p
  Join Letter l on l.userID = p.userID
WHERE
  p.location = "Boston"

答案 2 :(得分:1)

尝试以下操作;

int case_determination(){
    int casE; // declare internal variables here
    std::cout << "Inform the case number from 1 to 6\n";
    std::cin >> casE;

    return casE;
}