在sql我有一个这样的表:
empno | empname | supervisors ------ ------- ------------- 1 AAA NULL 2 BBBBB 1 3 CCCCC 2 4 DDDD 3
现在我想要像这样的输出
empno | empname | supervisors ------ ------- ------------- 1 AAA NULL (he is the boss, he don't have supervisors) 2 BBBBB AAA (the number is replaced by empname) 3 CCCCC BBBBB 4 DDDD CCCCC
请帮我!
我有一个函数,可以使用表的内容填充数据表.但它在WHERE子句中显示了一个恼人的无效列名错误.
public static DataTable GetRequests(string empid)
{
   DataTable dt = new DataTable();
   string strConnection = ConfigurationManager.AppSettings["connStr"];
   using (SqlConnection connection = new SqlConnection(strConnection))
   {
      connection.Open();
      SqlCommand sqlcmd = new SqlCommand();
      SqlDataAdapter sAdap = new SqlDataAdapter();                
      sqlcmd.Connection = connection;
      sqlcmd.CommandType = System.Data.CommandType.Text;
      sqlcmd.CommandText = "Select * from requests Where emp_id=P001";                
      sAdap.SelectCommand = sqlcmd;
      sAdap.Fill(dt);
   }
   return dt;            
}
Run Code Online (Sandbox Code Playgroud)
现在,我得到了错误
sAdap.fill
Run Code Online (Sandbox Code Playgroud)
而错误是
invalid column name P001
Run Code Online (Sandbox Code Playgroud)
我很难过.有什么想法我为什么要面对这个问题?
是否可以在数据库A中设置引用数据库B中的表的视图?
我收到以下错误:
无法模式绑定视图'dbo.AGView',因为名称'dbB..AG2Table'对于模式绑定无效.名称必须采用两部分格式,并且对象不能引用自身.
USE [dbA]
GO
IF EXISTS(SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[AGView]'))
DROP VIEW [dbo].[AGView]
GO
USE [dbA]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[AGView] WITH SCHEMABINDING AS
   SELECT ag.Id AS [AGId], ag.Name AS [AGName]
   FROM dbB..AG2Table agcag
   JOIN dbB..AGTable ag on ag.Id = agcag.Id
GO
Run Code Online (Sandbox Code Playgroud) .NET代码,DateTime.Now.ToString()输出如下:
11/28/2011 1:17:05 PM
我把它作为一个存储在MySQL中VARCHAR.
当我SELECT回到我的DataTable时,我希望它能被订购.当然,因为它是一个VARCHAR简单的,ORDER BY它将按字母顺序排序,而不是按时间顺序排序.
有没有办法ORDER BY按时间顺序使用SQL?
基本上,我的表中有一个字段,显示最新活动是在常规的unix时间戳中.
我需要的是一种计算过去7天内有活动的行的方法.
我们有一个存储过程"GetToken",在用户登录我们的站点时调用.此存储过程生成GUID(将其返回给客户端)并将条目插入到"TokenIndex"表中.GUID仅在延长的时间段内有效,因此每次用户登录时,我们都会生成新的GUID并删除该特定用户的所有先前"TokenIndex"条目.我们遇到的问题(它让我们发疯)是delete语句正在删除"TokenIndex"表中的所有条目,就好像它忽略WHERE LoginID = loginId了DELETE FROM TokenIndex语句中的子句一样.请参阅下面的存储过程:
CREATE DEFINER=`arcanatekauth`@`%` PROCEDURE `GetToken`(    
   IN _username NVARCHAR(100),   
   IN _password TINYBLOB   
)       
BEGIN
   declare guid CHAR(36);    
   declare clientId int;
   declare loginId int;
   declare clientConnectionString nvarchar(500);
   Select li.ClientID, li.ID INTO clientId, loginId
   FROM LoginIndex li
   WHERE li.UserName = _username and li.Password = _password;
   if(clientId > 0)
   then
   begin
      SET guid = UUID();            
      DELETE FROM TokenIndex
      WHERE LoginID = loginId;
      SELECT ci.ConnectionString INTO clientConnectionString
      FROM ClientIndex ci
      WHERE ci.ID = clientId; …Run Code Online (Sandbox Code Playgroud) 我有一个friends表:id,fid1,fid2表示两个用户(双向)之间的友谊.
和users表:fid,name
我想创建一个函数或查询
并返回
我在嵌套JOIN和UNION时遇到了麻烦.我需要UNION确保我获得所有友谊(但也不要重复).这是我到目前为止所得到的:
SELECT fid1 as friends FROM friendships WHERE fid2 = 123456
INNER JOIN users
ON friendships.fid1 = users.fid
UNION ALL (
SELECT fid2 as friends FROM friendships WHERE fid1 = 123456
INNER JOIN users
ON friendships.fid2 = users.fid
)
Run Code Online (Sandbox Code Playgroud)
这是一个错误:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for …Run Code Online (Sandbox Code Playgroud) $query = "select DISTINCT user_info.`uid`, company_info.`uid`, user_info.`fname`, user_info.`lname`, user_info.`profile_pic`, company_info.`name` FROM user_info, company_info  where fname like '%$q%' or lname like '%$q%' AND company_info.`uid` = user_info.`uid` LIMIT 5";
while($row = mysql_fetch_assoc(mysql_query($query))){
   outputUserImage($row["profile_pic"]);
   outputUserFname($row["fname"], $row["uid"]);
   outputUserLname($row["lname"]);
   outputUserCompany($row["name"]);
}
Run Code Online (Sandbox Code Playgroud)
这个查询有效,但它返回太多结果(重复)并且执行速度很慢.有人能告诉我什么似乎是问题吗?
我试图在数据库表中发布3个不同的信息,但是我得到了一个错误 Column count doesn't match value count at row 1
这是我的数据库表结构:
    interestID      int(11) auto_increment                          
    name            varchar(100)                                         
    categoryID      int(11)                                  
    interest_desc   varchar(30)                              
    date            timestamp
Run Code Online (Sandbox Code Playgroud)
表格:
<form id="form_design" method="post" action="interesting.php">
    <fieldset id="input_1">
        <input type="text" id="username" value="name?"   />
    </fieldset>            
    <fieldset id="input_2">
        <input type="text" id="interest" value="your interest?"  />
    </fieldset>   
    <fieldset id="input_3>
       <select id="cats">
           <option value="">--</option>
           <?php 
               $sql = "SELECT   categoryID, category_desc FROM categories "."ORDER BY category_desc"; $rs = mysql_query($sql);
               while($row = mysql_fetch_array($rs))
               { 
                   echo "<option value=\"".$row['categoryID']."\">".$row['category_desc']."</option>\n  "; }
?>                                                                        
        </select>
    </fieldset>
    <input type="submit" name="submit" value="Submit" …Run Code Online (Sandbox Code Playgroud) 我有一张商店节拍时间表.它与下面的"day_shift(1)"和"night_shift(0)"复合.

如果我把当前时间(通过使用GETDATE()函数).我需要知道当前时间是"day(1)"或"night(0)".我的查询是这样的.
SELECT [day_shift_flag]   
FROM  [company_working_time]
WHERE   GETDATE() BETWEEN [start_time] AND[end_time]
Run Code Online (Sandbox Code Playgroud)
但它找不到,因为从GETDATE()收到的日期不是'1900-01-01'如何比较唯一的时间而忽略日,月,年.我该怎么办?