當前位置:首頁 » 編程語言 » bl組件寫sql語句
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

bl組件寫sql語句

發布時間: 2022-05-27 10:12:08

❶ 幫忙編寫一個sql語句

create table emp
(
emp_id varchar(10),
emp_name varchar(20)
)

insert emp
select '001', 'aa' union
select '002', 'bb' union
select '003', 'cc' union
select '1001', 'allll' union
select '1002', 'bllll' union
select '1003', 'cllll'

create table pro
(
emp_id varchar(10),
mg_id varchar(10)
)
insert pro
select '001', '1002' union
select '002', '1003' union
select '003', '1001'

select e.emp_name,
(select emp_name from emp where emp_id=p.mg_id)as mg_name
from emp as e right join pro as p on e.emp_id=p.emp_id

❷ 一個簡單sql語句的寫法

你這樣做會大量消耗伺服器資源,不如先寫個方法,返回布爾值判斷是否相同,然後再寫如資料庫:

public bool blInsert(string strName)
{
string strSql="select username from uname where username='"+strName+"'";//SQL語句
try{
DB db=new DB();//這個是我自己寫的資料庫連接類,改成你自己的
DataTable tb=db.openSql(strSql);
if(tb.count>0)//如果返回的行數大於0,也就是有數據
return ture;//方法返回真
}
catch
{}
return false;
}

在程序中你先調用這個方法再寫入數據,如:

if(blInsert(name.Text.ToString().Trim() ))//如果返回的是真
{
return;//退出運行
}
else
{
//這里寫你寫的insert方法
}

我是用C#編程的,上面的代碼是用C#寫的,如果你用的是其他語言,可以用相同的思路去寫程序

❸ (急)sql語句怎麼寫怎麼實現啊

先在cp表中插入一列,語句如下:
alter table
add userid char(8)
因為你沒有說明你的類型,我就假定是字元型8個長度了。
然後更新裡面數據,語句如下:
Update cp Set cp.userid=user.userid
WHERE cp.gsmc=user.gsmc

❹ sql語句怎麼寫

--就你所述需求,在SQLServer2000環境下,語句如下:
SELECT [姓名],
SUM(CASE [科目] WHEN '語文' THEN [成績] END) AS [語文],
SUM(CASE [科目] WHEN '數學' THEN [成績] END) AS [數學],
SUM(CASE [科目] WHEN '英語' THEN [成績] END) AS [英語]
FROM TableName
GROUP BY [姓名]
GO

--在SQLServer2005或更高版本環境下,語句還可以如下格式(效率更高噢):
SELECT [姓名], [語文], [數學], [英語]
FROM TableName
PIVOT(SUM([成績]) FOR
[姓名] IN([語文], [數學], [英語])) AS T
GO

--另外說一下,表設計是否合理不能一概而論,不同的結構有不同的用法,具體要看需求。
--你這個還是相對較合理,而且畢竟就算要行轉列也不會大幅影響效率
-- powerbuildre所說的應該加一個學號列倒是應該甚至必須的,這樣姓名列就可以除去了,而且也一般是把學號當做外鍵關系來匹配的。至於他寫的這個句子,資料庫引擎處理邏輯上是把原表進行四倍的笛卡爾積運算,然後匹配where字句,也就是說假設表原來有1000行數據,它會運算成1000*1000*1000*1000行的一個虛擬表然後匹配where字句,效率極低;只是SQLServer2000及更新版本會自動優化成四個表的inner join也就是內聯查詢的關系。數據量小的話,效率可能不怎麼能輕易看出來,但是數據量一大,很容易拖垮伺服器。這是一種極不推薦的寫法,換句話說,如果你用這種語法面試,可能當場就會被pass掉了。

想學SQLServer啊?QQ:316784428
一起交流啊,我也是完全從自學開始一步一步走到今天的~!

❺ 編寫SQL語句

DECLARE @str varchar(1000)
declare @price float
declare @count int
DECLARE @idoc int;
DECLARE @doc xml;

declare cur cursor for select ID,價格 from 表1
open cur
fetch next from cur into @str,@price
while @@FETCH_STATUS<>-1
begin
set @doc=cast('<Root><item><ID>'+replace(@str,',','</ID></item><item><ID>')+'</ID></item></Root>' as xml)
EXEC sp_xml_preparedocument @Idoc OUTPUT, @doc
SELECT @count=COUNT(*) FROM OPENXML (@Idoc, '/Root/item',2)
WITH (
[ID] varchar(10)
)
update t1 set t1.價格=@price/@count from 表2 t1 inner join (SELECT ID FROM OPENXML (@Idoc, '/Root/item',2)
WITH (
[ID] varchar(10)
) ) t2 on t1.ID=t2.id
fetch next from cur into @str,@price
end
close cur
deallocate cur
總體思路:對表1各行ID進行拆分,然後分別更新表2的數據

❻ SQL語句應該怎麼寫

select t.*,a.name as 起點,b.name as 終點 from ticket t inner join city a on t.起點ID=a.id inner join city b on t.終點ID=b.id
where t.起點ID=表單傳入的值a and t.終點id=表單傳入的值b