1樓:匿名使用者
1、首先查詢出tab2中的nameid值。
2、寫個有參的函式,把上面的返回值取到賦給這個函式的引數,然後寫個sql進行查詢:
select * from tab1 where id in (引數也可以直接寫返回值) --因為1查詢出的值就是逗號隔開的,所以直接in(返回值) 就可以了。
2樓:匿名使用者
你的意思是返回一條資料,年齡和姓名之間用 逗號分隔.
如果是的話需要行轉列函式,不清楚mysql有沒有.公司沒有mysql環境,說一下具體思路吧.
按照逗號解析nameid.並迴圈解析結果,用迴圈結果當做where條件, 每迴圈一次就拼接一次查詢結果.
迴圈結束既拼接結束,返回拼接結果即可.
3樓:匿名使用者
你這個表不知道什麼原因設計成這樣了,一般tab2裡面的nameid只存一個數,你也沒說資料型別,應該就是varchar或者varchar2的了,資料庫也沒說,下面的是oracle的例子
create or replace function fun_a (in_var varchar2) return varchar2
isname varchar2;
begin
select tab1.name into name from tab1,tab2 where tab1.id = left(tab2.nameid,1);
return(name);
end fun_a;
4樓:匿名使用者
tab2資料你想怎麼獲得
一個SQL語句的問題,sql語句的問題?
在select 後面沒有引用到 卻在group by 裡面有用到,那是不行的 select 單位名稱,資產名稱,規格型號,count 數量,單價,sum 合計,購置日期,資金 from tblasset t left join tblorg o on left join tblassettype p...
求一個 sql語句,求一個sql寫法
sql語句和篩選結果如下 可見篩選出了mid為101的公司,滿足條件 求幫寫一個sql查詢語句 首先a表和b表沒有直接關係,所以關聯查詢的時候無法同時查詢,換句話說你給的表結構不是很對,可以先了解下我這個圖,總結 兩個表要有相同的欄位才能進行關聯查詢,完全沒有關係的話查詢是沒有意義的。select ...
sql 語句問題,sql語句的問題?
這兩個在效能上應該是沒什麼差別的,或者說差別不大,也沒人去考證這個事實。但是這兩個sql在安全上卻有很大的差別,舉個例子,比如說你寫的是第一個 select from stu where id 1 假如你傳入的值是1,簡單的連線可能是這樣 jsp?id 1。然後拼接字串就可以得到上面那個語句了。但是...