A. 求sql语句,从一个数据库读取记录到另一个数据库,分成两个表
楼主可以这样试一下!
insert into c(id,tit) values(select id,tit from a)
insert into b(id,nr) values(select id,nr from a)
不过这个好像只能一条条插入,没试过插入那么多的。楼主可以试一下,如果不可以多插入,建议用代码做个循环解决!
B. 如何写sql 才能将一个字段分成两个显示
如:select
deptno,deptname
from
t_dept
查询为两个字段分两列展示
------
deptno
deptname
0001
质检
------
现在我要将两个字段当做一个字段查询出来
select
deptno||deptname
dept
from
t_dept
-------
dept
0001质检
-----
不知有没有误解楼主意思,||为oracle连接两个字符串用的符号
C. 怎样将SQL查出的字段分成两列解决办法
select
substr(字段名称,1,x),substr(字段名称,x+1)
from
表名;
其中X代表你要截取的该字段要设置为第一列的长度。
例如:
select
substr(empno,1,2)第一列,substr(empno,3)第二列
from
emp;
这样查询出来显示的就把
empno
字段分为了2列。
D. SQL怎么把一个单链表分解成两个单链表
程序如下:
#include <stdio.h>
#include <stdlib.h>
typedef struct node
{
char data;
struct node *nextPtr;
}*LinkList, Lnode;
static void CreateList(LinkList *headPtr, LinkList *tailPtr, char ch);
static void Decompose(LinkList *headPtrA, LinkList *headPtrB, LinkList *tailPtrB);
static void VisitList(LinkList headPtr);
static void DestroyList(LinkList *headPtr, LinkList *tailPtr);
int main(void)
{
LinkList headPtrA = NULL, tailPtrA = NULL, headPtrB = NULL, tailPtrB = NULL;
char ch;
while (1)
{
printf("Enter ch('@'-quit): ");
scanf(" %c", &ch);
if (ch == '@')
{
break;
}
else
{
CreateList(&headPtrA, &tailPtrA, ch);
}
}
VisitList(headPtrA); /* 打印分解前的链表 */
if (headPtrA != NULL) /* 链表不空的情况对其进行分解 */
{
Decompose(&headPtrA, &headPtrB, &tailPtrB); /* 对链表进行分解*/
}
else
{
printf("headPtrA is empty. ");
}
VisitList(headPtrA); /* 打印分解后的链表 */
VisitList(headPtrB);
DestroyList(&headPtrA, &tailPtrA); /* 销毁链表 */
DestroyList(&headPtrB, &tailPtrB);
return 0;
}
static void CreateList(LinkList *headPtr, LinkList *tailPtr, char ch)
{
LinkList newPtr;
if ((newPtr = (LinkList)malloc(sizeof(Lnode))) == NULL)
{
exit(1);
}
newPtr -> data = ch;
newPtr -> nextPtr = NULL;
if (*headPtr == NULL)
{
newPtr -> nextPtr = *headPtr;
*headPtr = newPtr;
}
else
{
(*tailPtr) -> nextPtr = newPtr;
}
*tailPtr = newPtr;
}
static void Decompose(LinkList *headPtrA, LinkList *headPtrB, LinkList *tailPtrB)
{
int count = 0;
LinkList cA, pA;
char ch;
cA = NULL;
for (pA = *headPtrA; pA != NULL; cA = pA,pA = pA -> nextPtr)
{
ch = pA -> data;
count++;
if (count % 2 == 0)
{
CreateList(headPtrB, tailPtrB, ch);
cA -> nextPtr = pA -> nextPtr;
}
}
}
static void VisitList(LinkList headPtr)
{
while (headPtr != NULL)
{
printf("%c -> ", headPtr -> data);
headPtr = headPtr -> nextPtr;
}
printf("NULL ");
}
static void DestroyList(LinkList *headPtr, LinkList *tailPtr)
{
LinkList tempPtr;
while (*headPtr != NULL)
{
tempPtr = *headPtr;
*headPtr = (*headPtr) -> nextPtr;
free(tempPtr);
}
*headPtr = NULL;
*tailPtr = NULL;
}
E. sql server里select中将一个字段中的内容分成两个列查出
select FName=left(name,4),sname
=right(name,4) from Table
显示就是
FName SName
mick sorft
F. sql查询中,如何将某列 分成 两列。
SELECT PAccM33g02,
CASE PAccM33g02
WHEN 0 THEN PAccM33g02 END PAccM33g02_J,
CASE PAccM33g02
WHEN 1 THEN PAccM33g02 END PAccM33g02_C
FROM PAccM3307
G. 把一个表的数据拆成两个,这个sql语句该怎么写
使用Oracle的substr函数;
substr(字符串,截取开始位置,截取长度)
substr('Hello World',2,4) //返回结果为 'ello'
H. sql server 表中一条记录分成2条显示(把login字段分隔开)
--修改table_name表名称
declare@svarchar(100),@sqlvarchar(1000)
select@s=loginfromtable_name
set@sql='selectlogin='''+replace(@s,',',''',工单号,事件类别,摘要,内容描述fromtable_nameunionallselect''')+''''
set@sql=@sql+',工单号,事件类别,摘要,内容描述'
PRINT@sql
exec(@sql)