我有2张桌子
1.安全表
2.数据表
现在用户A应该只从DATA1和DATA2列访问1001和3001。但是因为在编写INNER JOIN时它们不是单行,所以它给出了0条记录作为我的输出。
我正在寻找一个输出,其中用户A将能够看到1001和3001,而用户B将分别得到1001和3002,分别为10000和20000。
请建议。
提前致谢。
答案 0 :(得分:2)
尝试:您可以通过以下方式获得所需的输出,我使用temporary table
的{{1}},因此请根据您的需要进行更改。
SQLSERVER
输出:
CREATE TABLE #security(SRNO INT IDENTITY(1,1), UNAME VARCHAR(50), DATA1 INT, DATA2 INT)
INSERT INTO #security VALUES
('A', 1001, NULL),
('A', NULL, 3001),
('B', 1001, NULL),
('B', NULL, 3002)
CREATE TABLE #data(DATA1 INT, DATA2 INT, AMT INT)
INSERT INTO #data VALUES
(1001,3001,10000),
(1001,3002,20000),
(1002,3001,30000)
SELECT s.UNAME, d.DATA1, d.DATA2, d.AMT
FROM #data d
INNER JOIN (SELECT UNAME,
MAX(DATA1) DATA1,
MAX(DATA2) DATA2
FROM #security GROUP BY UNAME) s ON s.DATA1 = d.DATA1
AND s.DATA2 = d.DATA2
答案 1 :(得分:2)
试试这个: -
$(this).find('i').off('click').on('click',function(){
console.log(that.attr("value"));
console.log("jeah");
$( "#ZF_dialog" ).dialog({
draggable: true,
show: { effect: "blind", duration: 250},
height: 320,
width: 500,
position: { my: 'top', at: 'top+250' }
});
let temp = $("<tr><td id='USER"+key+"' value='"+GlobalVarUS[key]["pk_pr_id"]+"'>"+GlobalVarUS[key]["pk_pr_id"]+"</td><td id='USERa"+key+"' value='"+GlobalVarUS[key]["pk_pr_id"]+"'>"+GlobalVarUS[key]["projektname"]+"</td><td id='USERb"+key+"' value='"+GlobalVarUS[key]["pk_pr_id"]+"'>"+GlobalVarUS[key]["aktiv"]+"</td><td id='USERc"+key+"' value='"+GlobalVarUS[key]["pk_pr_id"]+"'>"+GlobalVarUS[key]["verrechenbar"]+"</td><td id='ZFDialog"+key+"' value='"+GlobalVarUS[key]["pk_pr_id"]+"'><i class='fa fa-list' aria-hidden='true' style= 'cursor:pointer'></i></td></tr>");
temp.appendTo("#table_zf");
});
感谢: - )