【问题标题】:How to fetch distinct values from multiple rows of select query?如何从多行选择查询中获取不同的值?
【发布时间】:2012-06-02 07:22:13
【问题描述】:

我使用查询作为

string getPlayers = " Select Player1,Player2,Player3,Player4,Player5 from tbl_game where Player1=" + userid + " OR Player2=" + userid + " OR Player3=" + userid + " OR Player4=" + userid + " OR Player5=" + userid + " AND Complete = 'No' ";

它给出满足条件的多行结果。

但我想将不同 Player1,Player2,Player3,Player4,Player5 的值存储在从选择查询返回的变量中,以便我可以将这些值用于更多情况。

我该怎么做?

请帮助我。我很困惑。

已编辑:

我得到选择查询的结果为-

(1,2,2,4,5)
(2,3,1,4,5)
(4,3,5,1,2)

其中 1,2,3,4,5 是用户 ID(玩家)。

我想将这些用户 ID 存储在变量中 -

p1=1 , p2=2 , p3=3 ,p4=4, p5=5

【问题讨论】:

  • “我很困惑。”看了你的问题,我也懵了。你能用一个例子解释你需要什么吗?
  • @MarkByers - 我已经编辑了我的问题并解释了我想要什么
  • @RKP - 你的短期意图现在很清楚,但你的长期意图还没有。 SQL 对过程式处理不是很友好(开发很乏味,执行速度很慢)。如果打算在 SQL 中进行后续处理,请重新考虑。如果您考虑使用非数据库编程语言,请重新标记(编辑并输入其他标记)。

标签: sql database


【解决方案1】:
string getPlayer1 = (" select var1 from (" Select distinct Player1 as var1 ,Player2,Player3,Player4,Player5 from tbl_game where Player1=" + userid + " OR Player2=" + userid + " OR Player3=" + userid + " OR Player4=" + userid + " OR Player5=" + userid + " AND Complete = 'No' "));

var1 的值为 player1。对所有其他玩家重复此操作。希望这是你想要的。

【讨论】:

  • 感谢您的回复。但它给出了一个错误'“每个派生表都必须有自己的别名”'
  • string getPlayer1 = (" select var1 from (" Select distinct Player1 as var1 ,Player2,Player3,Player4,Player5 from tbl_game where Player1=" + userid + " OR Player2=" + userid + " OR Player3=" + userid + " OR Player4=" + userid + " OR Player5=" + userid + " AND Complete = 'No' ") as tab1); 试试这个并告诉我
猜你喜欢
  • 1970-01-01
  • 2017-05-05
  • 2015-02-27
  • 1970-01-01
  • 1970-01-01
  • 2020-02-13
  • 2011-06-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多